diff options
Diffstat (limited to 'help/app')
-rw-r--r-- | help/app/assets/javascripts/tickets.js | 2 | ||||
-rw-r--r-- | help/app/controllers/tickets_controller.rb | 11 | ||||
-rw-r--r-- | help/app/models/account_extension/tickets.rb | 13 | ||||
-rw-r--r-- | help/app/models/ticket.rb | 11 | ||||
-rw-r--r-- | help/app/views/tickets/_edit_form.html.haml | 6 | ||||
-rw-r--r-- | help/app/views/tickets/_ticket.html.haml | 2 | ||||
-rw-r--r-- | help/app/views/tickets/new.html.haml | 2 |
7 files changed, 32 insertions, 15 deletions
diff --git a/help/app/assets/javascripts/tickets.js b/help/app/assets/javascripts/tickets.js index bf7965c..18537aa 100644 --- a/help/app/assets/javascripts/tickets.js +++ b/help/app/assets/javascripts/tickets.js @@ -1,4 +1,4 @@ //$(document).ready(function () { // $.fn.editable.defaults.mode = 'inline'; -// $('#title').editable(); +// $('#subject').editable(); //});
\ No newline at end of file diff --git a/help/app/controllers/tickets_controller.rb b/help/app/controllers/tickets_controller.rb index a669e19..c193ff4 100644 --- a/help/app/controllers/tickets_controller.rb +++ b/help/app/controllers/tickets_controller.rb @@ -62,14 +62,11 @@ class TicketsController < ApplicationController @ticket.comments.last.private = false unless admin? end - if @ticket.changed? - if @ticket.save - flash[:notice] = t(:changes_saved) - redirect_to_tickets - else - respond_with @ticket - end + if @ticket.changed? and @ticket.save + flash[:notice] = t(:changes_saved) + redirect_to_tickets else + flash[:error] = @ticket.errors.full_messages.join(". ") if @ticket.changed? redirect_to auto_ticket_path(@ticket) end end diff --git a/help/app/models/account_extension/tickets.rb b/help/app/models/account_extension/tickets.rb new file mode 100644 index 0000000..f898b56 --- /dev/null +++ b/help/app/models/account_extension/tickets.rb @@ -0,0 +1,13 @@ +module AccountExtension::Tickets + extend ActiveSupport::Concern + + def destroy_with_tickets + Ticket.destroy_all_from(self.user) + destroy_without_tickets + end + + included do + alias_method_chain :destroy, :tickets + end + +end diff --git a/help/app/models/ticket.rb b/help/app/models/ticket.rb index 8066d0d..cd22758 100644 --- a/help/app/models/ticket.rb +++ b/help/app/models/ticket.rb @@ -12,7 +12,7 @@ class Ticket < CouchRest::Model::Base property :created_by, String, :protected => true # nil for anonymous tickets, should never be changed property :regarding_user, String # may be nil or valid username - property :title, String + property :subject, String property :email, String property :is_open, TrueClass, :default => true property :comments, [TicketComment] @@ -24,6 +24,7 @@ class Ticket < CouchRest::Model::Base design do view :by_updated_at view :by_created_at + view :by_created_by view :by_is_open_and_created_at view :by_is_open_and_updated_at @@ -32,7 +33,7 @@ class Ticket < CouchRest::Model::Base load_views(own_path.join('..', 'designs', 'ticket')) end - validates :title, :presence => true + validates :subject, :presence => true validates :email, :allow_blank => true, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/ def self.search(options = {}) @@ -40,6 +41,12 @@ class Ticket < CouchRest::Model::Base @selection.tickets end + def self.destroy_all_from(user) + self.by_created_by.key(user.id).each do |ticket| + ticket.destroy + end + end + def is_creator_validated? !!created_by end diff --git a/help/app/views/tickets/_edit_form.html.haml b/help/app/views/tickets/_edit_form.html.haml index 5252c2e..714f8ff 100644 --- a/help/app/views/tickets/_edit_form.html.haml +++ b/help/app/views/tickets/_edit_form.html.haml @@ -1,7 +1,7 @@ :ruby # created by user link if @ticket.created_by_user - created_by = link_to(@ticket.created_by_user.login, user_overview_path(@ticket.created_by_user)) + created_by = link_to @ticket.created_by_user.login, @ticket.created_by_user else created_by = t(:anonymous) end @@ -9,7 +9,7 @@ # regarding user link if admin? if @ticket.regarding_user_actual_user - regarding_user_link = link_to @ticket.regarding_user_actual_user.login, user_overview_path(@ticket.regarding_user_actual_user) + regarding_user_link = link_to @ticket.regarding_user_actual_user.login, @ticket.regarding_user_actual_user else regarding_user_link = "(#{t(:unknown)})" end @@ -26,7 +26,7 @@ %span.label.label-success= t(:closed) %span.label.label-clear= t(:created_by_on, :user => created_by, :time => @ticket.created_at.to_s(:short)).html_safe %div= t(:subject) - = f.text_field :title, :class => 'large full-width' + = f.text_field :subject, :class => 'large full-width' .row-fluid .span4 %div= t(:status) diff --git a/help/app/views/tickets/_ticket.html.haml b/help/app/views/tickets/_ticket.html.haml index a064c4e..5bc33c8 100644 --- a/help/app/views/tickets/_ticket.html.haml +++ b/help/app/views/tickets/_ticket.html.haml @@ -1,6 +1,6 @@ - url = auto_ticket_path(ticket) %tr - %td= link_to ticket.title, url + %td= link_to ticket.subject, url %td= link_to ticket.created_at.to_s(:short), url %td= link_to ticket.updated_at.to_s(:short), url %td= ticket.commenters diff --git a/help/app/views/tickets/new.html.haml b/help/app/views/tickets/new.html.haml index c0a343d..393e5d6 100644 --- a/help/app/views/tickets/new.html.haml +++ b/help/app/views/tickets/new.html.haml @@ -11,7 +11,7 @@ = simple_form_for @ticket, :validate => true, :html => {:class => 'form-horizontal'} do |f| = hidden_ticket_fields - = f.input :title, :label => t(:subject) + = f.input :subject - if logged_in? = f.input :email, input_html: {value: email} = f.input :regarding_user, input_html: {value: regarding} |