summaryrefslogtreecommitdiff
path: root/help/app
diff options
context:
space:
mode:
Diffstat (limited to 'help/app')
-rw-r--r--help/app/assets/javascripts/tickets.js2
-rw-r--r--help/app/controllers/tickets_controller.rb11
-rw-r--r--help/app/models/account_extension/tickets.rb13
-rw-r--r--help/app/models/ticket.rb11
-rw-r--r--help/app/views/tickets/_edit_form.html.haml6
-rw-r--r--help/app/views/tickets/_ticket.html.haml2
-rw-r--r--help/app/views/tickets/new.html.haml2
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}