diff options
Diffstat (limited to 'help/app')
6 files changed, 62 insertions, 78 deletions
| diff --git a/help/app/designs/ticket/by_includes_post_by.js b/help/app/designs/ticket/by_includes_post_by.js new file mode 100644 index 0000000..2eeac89 --- /dev/null +++ b/help/app/designs/ticket/by_includes_post_by.js @@ -0,0 +1,13 @@ +// TODO: This view is only used in tests--should we keep it? +function(doc) { +  var arr = {} +  if (doc['type'] == 'Ticket' && doc.comments) { +    doc.comments.forEach(function(comment){ +      if (comment.posted_by && !arr[comment.posted_by]) { +        //don't add duplicates +        arr[comment.posted_by] = true; +        emit(comment.posted_by, 1); +      } +    }); +  } +} diff --git a/help/app/designs/ticket/by_includes_post_by_and_created_at.js b/help/app/designs/ticket/by_includes_post_by_and_created_at.js new file mode 100644 index 0000000..72169b0 --- /dev/null +++ b/help/app/designs/ticket/by_includes_post_by_and_created_at.js @@ -0,0 +1,12 @@ +function(doc) { +  var arr = {} +  if (doc['type'] == 'Ticket' && doc.comments) { +    doc.comments.forEach(function(comment){ +      if (comment.posted_by && !arr[comment.posted_by]) { +        //don't add duplicates +        arr[comment.posted_by] = true; +        emit([comment.posted_by, doc.created_at], 1); +      } +    }); +  } +} diff --git a/help/app/designs/ticket/by_includes_post_by_and_is_open_and_created_at.js b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_created_at.js new file mode 100644 index 0000000..33dfe0b --- /dev/null +++ b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_created_at.js @@ -0,0 +1,12 @@ +function(doc) { +  var arr = {} +  if (doc['type'] == 'Ticket' && doc.comments) { +    doc.comments.forEach(function(comment){ +      if (comment.posted_by && !arr[comment.posted_by]) { +        //don't add duplicates +        arr[comment.posted_by] = true; +        emit([comment.posted_by, doc.is_open, doc.created_at], 1); +      } +    }); +  } +} diff --git a/help/app/designs/ticket/by_includes_post_by_and_is_open_and_updated_at.js b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_updated_at.js new file mode 100644 index 0000000..3bd2a74 --- /dev/null +++ b/help/app/designs/ticket/by_includes_post_by_and_is_open_and_updated_at.js @@ -0,0 +1,12 @@ +function(doc) { +  var arr = {} +  if (doc['type'] == 'Ticket' && doc.comments) { +    doc.comments.forEach(function(comment){ +      if (comment.posted_by && !arr[comment.posted_by]) { +        //don't add duplicates +        arr[comment.posted_by] = true; +        emit([comment.posted_by, doc.is_open, doc.updated_at], 1); +      } +    }); +  } +} diff --git a/help/app/designs/ticket/by_includes_post_by_and_updated_at.js b/help/app/designs/ticket/by_includes_post_by_and_updated_at.js new file mode 100644 index 0000000..2b4304f --- /dev/null +++ b/help/app/designs/ticket/by_includes_post_by_and_updated_at.js @@ -0,0 +1,12 @@ +function(doc) { +  var arr = {} +  if (doc['type'] == 'Ticket' && doc.comments) { +    doc.comments.forEach(function(comment){ +      if (comment.posted_by && !arr[comment.posted_by]) { +        //don't add duplicates +        arr[comment.posted_by] = true; +        emit([comment.posted_by, doc.updated_at], 1); +      } +    }); +  } +} diff --git a/help/app/models/ticket.rb b/help/app/models/ticket.rb index fa056b4..a5c9ee5 100644 --- a/help/app/models/ticket.rb +++ b/help/app/models/ticket.rb @@ -47,84 +47,7 @@ class Ticket < CouchRest::Model::Base      view :by_is_open_and_created_at      view :by_is_open_and_updated_at - -    #TODO: This view is only used in tests--should we keep it? -    view :by_includes_post_by, -      :map => -      "function(doc) { -        var arr = {} -        if (doc['type'] == 'Ticket' && doc.comments) { -          doc.comments.forEach(function(comment){ -          if (comment.posted_by && !arr[comment.posted_by]) { -             //don't add duplicates -             arr[comment.posted_by] = true; -             emit(comment.posted_by, 1); -          } -          }); -        } -      }", :reduce => "function(k,v,r) { return sum(v); }" - -    view :by_includes_post_by_and_is_open_and_updated_at, -      :map => -      "function(doc) { -        var arr = {} -        if (doc['type'] == 'Ticket' && doc.comments) { -          doc.comments.forEach(function(comment){ -          if (comment.posted_by && !arr[comment.posted_by]) { -            //don't add duplicates -            arr[comment.posted_by] = true; -            emit([comment.posted_by, doc.is_open, doc.updated_at], 1); -          } -          }); -        } -      }", :reduce => "function(k,v,r) { return sum(v); }" - -    view :by_includes_post_by_and_is_open_and_created_at, -      :map => -      "function(doc) { -        var arr = {} -        if (doc['type'] == 'Ticket' && doc.comments) { -          doc.comments.forEach(function(comment){ -          if (comment.posted_by && !arr[comment.posted_by]) { -            //don't add duplicates -            arr[comment.posted_by] = true; -            emit([comment.posted_by, doc.is_open, doc.created_at], 1); -          } -          }); -        } -      }", :reduce => "function(k,v,r) { return sum(v); }" - -    view :by_includes_post_by_and_updated_at, -      :map => -      "function(doc) { -        var arr = {} -        if (doc['type'] == 'Ticket' && doc.comments) { -          doc.comments.forEach(function(comment){ -          if (comment.posted_by && !arr[comment.posted_by]) { -            //don't add duplicates -            arr[comment.posted_by] = true; -            emit([comment.posted_by, doc.updated_at], 1); -          } -          }); -        } -      }", :reduce => "function(k,v,r) { return sum(v); }" - - -    view :by_includes_post_by_and_created_at, -      :map => -      "function(doc) { -        var arr = {} -        if (doc['type'] == 'Ticket' && doc.comments) { -          doc.comments.forEach(function(comment){ -          if (comment.posted_by && !arr[comment.posted_by]) { -            //don't add duplicates -            arr[comment.posted_by] = true; -            emit([comment.posted_by, doc.created_at], 1); -          } -          }); -        } -      }", :reduce => "function(k,v,r) { return sum(v); }" - +    load_views(Rails.root.join('help', 'app', 'designs', 'ticket'))    end    validates :title, :presence => true | 
