diff options
| -rw-r--r-- | users/app/controllers/users_controller.rb | 2 | ||||
| -rw-r--r-- | users/app/helpers/users_helper.rb | 6 | ||||
| -rw-r--r-- | users/app/models/user.rb | 4 | ||||
| -rw-r--r-- | users/app/views/users/_user.html.haml | 2 | ||||
| -rw-r--r-- | users/app/views/users/show.html.haml | 32 | 
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) + +  | 
