diff options
Diffstat (limited to 'help/app/models')
| -rw-r--r-- | help/app/models/ticket.rb | 16 | ||||
| -rw-r--r-- | help/app/models/ticket_comment.rb | 11 | 
2 files changed, 19 insertions, 8 deletions
diff --git a/help/app/models/ticket.rb b/help/app/models/ticket.rb index 8a282b5..784d7ef 100644 --- a/help/app/models/ticket.rb +++ b/help/app/models/ticket.rb @@ -24,11 +24,12 @@ class Ticket < CouchRest::Model::Base    #property :user_verified, TrueClass, :default => false #will be true exactly when user is set    #admins    property :code, String, :protected => true # only should be set if created_by is nil +  property :is_open, TrueClass, :default => true    property :comments, [TicketComment]    timestamps! -  before_validation :set_code, :on => :create +  before_validation :set_created_by, :set_code, :on => :create    design do      view :by_title @@ -37,7 +38,9 @@ class Ticket < CouchRest::Model::Base    validates :email, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, :if => :email #email address is optional -  #set created_by to be current_user +  def set_created_by +    self.created_by = User.current if User.current +  end    def is_creator_validated?      !!created_by @@ -48,6 +51,15 @@ class Ticket < CouchRest::Model::Base      self.code = SecureRandom.hex(8) if !is_creator_validated?    end +  def close +    self.is_open = false +    save +  end + +  def reopen +    self.is_open = true +    save +  end  =begin    def validate diff --git a/help/app/models/ticket_comment.rb b/help/app/models/ticket_comment.rb index 1e23136..652133a 100644 --- a/help/app/models/ticket_comment.rb +++ b/help/app/models/ticket_comment.rb @@ -1,8 +1,6 @@ -class TicketComment < CouchRest::Model::Base #?? do we want this to be a base model?  +class TicketComment    include CouchRest::Model::Embeddable  -  #use_database "ticket_comments" -    #belongs_to :ticket #is this best way to do it? will want to access all of a tickets comments, so maybe this isn't the way?    property :posted_by, Integer, :protected => true# maybe this should be current_user if that is set, meaning the user is logged in  #String # user??    # if the current user is not set, then we could just say the comment comes from an 'unauthenticated user', which would be somebody with the secret URL @@ -10,7 +8,7 @@ class TicketComment < CouchRest::Model::Base #?? do we want this to be a base mo    #property :posted_verified, TrueClass, :protected => true #should be true if current_user is set when the comment is created    property :body, String -  before_validation :set_time, :set_posted_by, :on => :create # hmm, this requires object to be validated for these methods to be called, but if this is only embeddedable (which might be best), then not clear how to do this without manually validating. +  before_validation :set_time#, :set_posted_by    #design do    #  view :by_posted_at @@ -25,9 +23,10 @@ class TicketComment < CouchRest::Model::Base #?? do we want this to be a base mo      self.posted_at = Time.now    end +=begin    def set_posted_by -    #should be something like this, but current_user is not set yet -    #self.posted_by = current_user if current_user +    self.posted_by = User.current if User.current    end +=end  end  | 
