Added XML-API for projects / Simplified code/specs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#-- # Copyright (C) 2008 Dimitrij Denissenko # Please read LICENSE document for more information. #++ class Admin::ReportsController < AdminAreaController verify :xhr => true, :only => :sort before_filter :find_project before_filter :new, :only => [:create] before_filter :edit, :only => [:update] def index @ticket_reports = @project.ticket_reports end def new @ticket_report = @project.ticket_reports.new(params[:ticket_report]) end def create if @ticket_report.save flash[:notice] = _('Report was successfully created.') redirect_to admin_project_reports_path(@project) else render :action => 'new' end end def edit @ticket_report = @project.ticket_reports.find(params[:id]) end def update if @ticket_report.update_attributes(params[:ticket_report]) flash[:notice] = _('Report was successfully updated.') redirect_to admin_project_reports_path(@project) else render :action => 'edit' end end def destroy if @project.ticket_reports.destroy(params[:id]) flash[:notice] = _('Report was successfully deleted.') end redirect_to admin_project_reports_path(@project) end def sort params[:ticket_reports].each_with_index do |id, rank| TicketReport.update_all ['rank = ?', rank], ['id = ? AND project_id = ?', id.to_i, @project.id] end if params[:ticket_reports].is_a?(Enumerable) render :nothing => true end private def find_project @project = Project.find_by_short_name! params[:project_id], :include => [:ticket_reports], :order => 'ticket_reports.rank' end end |
|---|