summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorjessib <jessib@leap.se>2013-01-08 13:20:34 -0800
committerjessib <jessib@leap.se>2013-01-08 13:20:34 -0800
commit2599c7bac06ee55d58e492a47e09ee163e9582ba (patch)
treeafeb490e23d886c617d339f70d4397e7ad806e89 /users
parentcee6db281349789ba5ff6dc8d3dc6ca10400aebe (diff)
Adding show view for users.
Diffstat (limited to 'users')
-rw-r--r--users/app/controllers/users_controller.rb2
-rw-r--r--users/app/helpers/users_helper.rb6
-rw-r--r--users/app/models/user.rb4
-rw-r--r--users/app/views/users/_user.html.haml2
-rw-r--r--users/app/views/users/show.html.haml32
5 files changed, 44 insertions, 2 deletions
diff --git a/users/app/controllers/users_controller.rb b/users/app/controllers/users_controller.rb
index 79de630..eb93fcb 100644
--- a/users/app/controllers/users_controller.rb
+++ b/users/app/controllers/users_controller.rb
@@ -2,7 +2,7 @@ class UsersController < ApplicationController
skip_before_filter :verify_authenticity_token, :only => [:create]
- before_filter :fetch_user, :only => [:edit, :update, :destroy]
+ before_filter :fetch_user, :only => [:show, :edit, :update, :destroy]
before_filter :set_anchor, :only => [:edit, :update]
before_filter :authorize_admin, :only => [:index]
diff --git a/users/app/helpers/users_helper.rb b/users/app/helpers/users_helper.rb
index 45ca0e9..5f68085 100644
--- a/users/app/helpers/users_helper.rb
+++ b/users/app/helpers/users_helper.rb
@@ -30,4 +30,10 @@ module UsersHelper
classes.compact
end
+ def user_field(field)
+ value = @user.send(field)
+ value = value.to_s(:long) if field.end_with? '_at'
+ value || 'not set'
+ end
+
end
diff --git a/users/app/models/user.rb b/users/app/models/user.rb
index 1798ea4..4b6b06c 100644
--- a/users/app/models/user.rb
+++ b/users/app/models/user.rb
@@ -100,6 +100,10 @@ class User < CouchRest::Model::Base
email_aliases.build(attrs.values.first) if attrs
end
+ def most_recent_tickets(count=3)
+ Ticket.for_user(self).limit(count) #defaults to having most recent updated first
+ end
+
protected
##
diff --git a/users/app/views/users/_user.html.haml b/users/app/views/users/_user.html.haml
index 7db0041..ca03d34 100644
--- a/users/app/views/users/_user.html.haml
+++ b/users/app/views/users/_user.html.haml
@@ -1,5 +1,5 @@
%tr
- %td= user.login
+ %td= link_to user.login, user
%td= time_ago_in_words(user.created_at) + " ago"
%td
= link_to edit_user_path(user), :class => "btn btn-mini btn-primary" do
diff --git a/users/app/views/users/show.html.haml b/users/app/views/users/show.html.haml
new file mode 100644
index 0000000..9df029e
--- /dev/null
+++ b/users/app/views/users/show.html.haml
@@ -0,0 +1,32 @@
+.span8.offset1
+ %h2= @user.login
+ %dl.offset1
+ - fields = ['login', 'email', 'created_at', 'updated_at', 'email_forward']
+ - fields.each do |field|
+ %dt
+ = field.titleize
+ %dd
+ = user_field(field)
+ %dt
+ =t :email_aliases
+ %dd
+ - aliases = @user.email_aliases
+ - if aliases.empty?
+ none set
+ - else
+ %ul.unstyled
+ - aliases.each do |al|
+ %li
+ = al.email
+ %dt
+ =t :most_recently_updated_tickets
+ %dd
+ %ul
+ - @user.most_recent_tickets.each do |ticket|
+ %li
+ = link_to ticket.title, ticket
+ %small
+ updated:
+ = ticket.updated_at.to_s(:long)
+
+