diff options
| author | jessib <jessib@leap.se> | 2012-12-12 14:05:41 -0800 | 
|---|---|---|
| committer | jessib <jessib@leap.se> | 2012-12-12 14:05:41 -0800 | 
| commit | 961fe13b784e7f44e55f9cd0a106728c69354a0f (patch) | |
| tree | cf35c5a6b16a5e5c2497b86ce170204ec9c191ce /help/app/controllers/tickets_controller.rb | |
| parent | 5e474bdaf93548f7bcc2d659bbbf11a19757d725 (diff) | |
| parent | 49d0ffe5f689ecb651b65beb4050b3f38cbb226e (diff) | |
Merge branch 'feature-new-comments-refactor' into develop
Diffstat (limited to 'help/app/controllers/tickets_controller.rb')
| -rw-r--r-- | help/app/controllers/tickets_controller.rb | 20 | 
1 files changed, 11 insertions, 9 deletions
| diff --git a/help/app/controllers/tickets_controller.rb b/help/app/controllers/tickets_controller.rb index 3ff19b8..db9bc82 100644 --- a/help/app/controllers/tickets_controller.rb +++ b/help/app/controllers/tickets_controller.rb @@ -1,6 +1,6 @@  class TicketsController < ApplicationController -  respond_to :html #, :json +  respond_to :html, :json    #has_scope :open, :type => boolean    before_filter :set_strings @@ -52,19 +52,21 @@ class TicketsController < ApplicationController      @ticket = Ticket.find(params[:id])      if !ticket_access_denied? -      if status = params[:change_status] #close or open button was pressed -        @ticket.close if params[:change_status] == 'close' -        @ticket.reopen if params[:change_status] == 'open' +      if params[:post] #currently changes to title or is_open status +        if @ticket.update_attributes(params[:post]) #this saves ticket, so @ticket.changed? will be false +          tick_updated = true +        end +        # TODO: do we want to keep the history of title changes? one possibility was adding a comment that said something like 'user changed the title from a to b' +        else          params[:ticket][:comments_attributes] = nil if params[:ticket][:comments_attributes].values.first[:body].blank? #unset comments hash if no new comment was typed          @ticket.attributes = params[:ticket] #this will call comments_attributes= -        # @ticket.is_open = false if params[:commit] == @reply_close_str #this overrides is_open selection          @ticket.close if params[:commit] == @reply_close_str #this overrides is_open selection -          # what if there is an update and no new comment? Confirm that there is a new comment to update posted_by:          @ticket.comments.last.posted_by = (current_user ? current_user.id : nil) if @ticket.comments_changed? #protecting posted_by isn't working, so this should protect it. +        tick_updated = true if @ticket.changed? and @ticket.save        end -      if @ticket.changed? and @ticket.save +      if tick_updated          flash[:notice] = 'Ticket was successfully updated.'          if @ticket.is_open            respond_with @ticket @@ -78,14 +80,14 @@ class TicketsController < ApplicationController          #respond_with(@ticket) # why does this go to edit?? redirect???        end      end +    end    def index -    #TODO: we will need pagination      @all_tickets = Ticket.for_user(current_user, params, admin?) #for tests, useful to have as separate variable      #below works if @tickets is a CouchRest::Model::Designs::View, but not if it is an Array -    @tickets = @all_tickets.page(params[:page]).per(10) #TEST +    @tickets = @all_tickets.page(params[:page]).per(10)      #respond_with(@tickets)    end | 
