Class: Cms::TasksController

Inherits:
BaseController show all
Defined in:
app/controllers/cms/tasks_controller.rb

Instance Method Summary collapse

Methods included from PageHelper

#able_to?, #cms_content_editor, #cms_toolbar, #container, #container_has_block?, #current_page, #page_title, #render_breadcrumbs, #render_portlet

Methods included from PathHelper

#attachment_path_for, #cms_connectable_path, #cms_index_path_for, #cms_index_url_for, #cms_new_path_for, #cms_new_url_for, #cms_sortable_column_path, #edit_cms_connectable_path, #engine_for, #link_to_usages, #path_elements_for

Methods included from ErrorHandling

#handle_access_denied, #handle_server_error, #with_format

Instance Method Details

#completeObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'app/controllers/cms/tasks_controller.rb', line 22

def complete
  if params[:task_ids]
    Task.all(:conditions => ["id in (?)", params[:task_ids]]).each do |t|
      if t.assigned_to == current_user
        t.mark_as_complete!
      end
    end
    flash[:notice] = "Tasks marked as complete"
    redirect_to dashboard_path
  else
    @task = Task.find(params[:id])
    if @task.assigned_to == current_user
      if @task.mark_as_complete!
        flash[:notice] = "Task was marked as complete"
      end
    else
      flash[:error] = "You cannot complete tasks that are not assigned to you"
    end
    redirect_to @task.page.path
  end
rescue ActiveRecord::RecordNotFound
  flash[:error] = "No tasks were marked for completion"
  redirect_to dashboard_path
end

#createObject



11
12
13
14
15
16
17
18
19
20
# File 'app/controllers/cms/tasks_controller.rb', line 11

def create
  @task = @page.tasks.build(params[:task])
  @task.assigned_by = current_user
  if @task.save
    flash[:notice] = "Page was assigned to '#{@task.assigned_to.}'"
    redirect_to @page.path
  else
    render :action => 'new'
  end
end

#newObject



7
8
9
# File 'app/controllers/cms/tasks_controller.rb', line 7

def new
  @task = @page.tasks.build(:assigned_by => current_user)
end