summaryrefslogtreecommitdiff
path: root/users/app/views
diff options
context:
space:
mode:
authorjessib <jessib@leap.se>2013-07-08 11:30:35 -0700
committerjessib <jessib@leap.se>2013-07-08 11:30:35 -0700
commitfc3c5994df61de04b8b17b495a638efc0d760126 (patch)
tree644aa93dfd0a6da2ed9b20ba688712fb9082f425 /users/app/views
parentcfb9e1d4c2e954222b77c4dd11e06ae3a0092be5 (diff)
parent3113f8b814417a896ad5340fda88927733f8ab22 (diff)
Merge branch 'master' into feature/disable_account
Conflicts: users/app/controllers/users_controller.rb users/app/helpers/users_helper.rb users/app/views/users/edit.html.haml users/app/views/users/show.html.haml users/config/locales/en.yml
Diffstat (limited to 'users/app/views')
-rw-r--r--users/app/views/email_settings/edit.html.haml38
-rw-r--r--users/app/views/emails/_email.html.haml2
-rw-r--r--users/app/views/overviews/show.html.haml18
-rw-r--r--users/app/views/sessions/_admin_nav.html.haml6
-rw-r--r--users/app/views/sessions/_nav.html.haml13
-rw-r--r--users/app/views/sessions/new.html.haml13
-rw-r--r--users/app/views/users/_cancel_account.html.haml9
-rw-r--r--users/app/views/users/_edit.html.haml42
-rw-r--r--users/app/views/users/_email_aliases.html.haml6
-rw-r--r--users/app/views/users/_email_field.html.haml1
-rw-r--r--users/app/views/users/_email_forward_field.html.haml1
-rw-r--r--users/app/views/users/_form.html.haml11
-rw-r--r--users/app/views/users/_legend_and_submit.html.haml4
-rw-r--r--users/app/views/users/_login_and_password_fields.html.haml2
-rw-r--r--users/app/views/users/_login_field.html.haml1
-rw-r--r--users/app/views/users/_password_fields.html.haml2
-rw-r--r--users/app/views/users/_public_key_field.html.haml1
-rw-r--r--users/app/views/users/_user.html.haml12
-rw-r--r--users/app/views/users/edit.html.haml20
-rw-r--r--users/app/views/users/index.html.haml30
-rw-r--r--users/app/views/users/new.html.haml23
-rw-r--r--users/app/views/users/show.html.haml32
22 files changed, 139 insertions, 148 deletions
diff --git a/users/app/views/email_settings/edit.html.haml b/users/app/views/email_settings/edit.html.haml
new file mode 100644
index 0000000..7757a31
--- /dev/null
+++ b/users/app/views/email_settings/edit.html.haml
@@ -0,0 +1,38 @@
+- form_options = {:url => user_email_settings_path(@user), :html => {:class => 'form-horizontal'}, :validate => true}
+- alias_error_class = @email_alias.username && !@email_alias.valid? ? 'error' : ''
+
+- content_for :head do
+ :css
+ table.aliases tr:first-child td {
+ border-top: none;
+ }
+
+= simple_form_for @user, form_options.dup do |f|
+ %legend= t(:email_aliases)
+ .control-group
+ %label.control-label= t(:current_aliases)
+ .controls
+ %table.table.table-condensed.no-header.slim.aliases
+ - if @user.email_aliases.any?
+ - @user.email_aliases.each do |email|
+ %tr
+ %td= email
+ %td= link_to(icon(:remove) + t(:remove), user_email_alias_path(@user, email), :method => :delete)
+ - else
+ %tr
+ %td{:colspan=>2}= t(:none)
+ .control-group{:class => alias_error_class}
+ %label.control-label= t(:add_email_alias)
+ .controls
+ = f.simple_fields_for :email_aliases, @email_alias do |e|
+ .input-append
+ = e.input_field :username
+ = e.submit t(:add), :class => 'btn'
+ = e.error :username
+
+= simple_form_for @user, form_options do |f|
+ %legend= t(:advanced_options)
+ = f.input :email_forward
+ = f.input :public_key, :as => :text, :hint => t(:use_ascii_key), :input_html => {:class => "full-width", :rows => 4}
+ .form-actions
+ = f.submit t(:save), :class => 'btn btn-primary'
diff --git a/users/app/views/emails/_email.html.haml b/users/app/views/emails/_email.html.haml
index c81b396..ea59cec 100644
--- a/users/app/views/emails/_email.html.haml
+++ b/users/app/views/emails/_email.html.haml
@@ -3,4 +3,4 @@
- if local_assigns[:with].try(:include?, :delete)
= link_to(user_email_alias_path(@user, email), :method => :delete) do
%i.icon-remove
-.clearfix
+
diff --git a/users/app/views/overviews/show.html.haml b/users/app/views/overviews/show.html.haml
new file mode 100644
index 0000000..b8ad814
--- /dev/null
+++ b/users/app/views/overviews/show.html.haml
@@ -0,0 +1,18 @@
+.overview
+
+ %h2.first= t(:overview_welcome, :username => @user.login)
+
+ - if admin?
+ %p
+ = t(:created)
+ = @user.created_at
+ %br
+ = t(:updated)
+ = @user.updated_at
+
+ %p= t(:overview_intro)
+
+ %ul.unstyled
+ %li= icon('user') + link_to(t(:overview_account), edit_user_path(@user))
+ %li= icon('envelope') + link_to(t(:overview_email), edit_user_email_settings_path(@user))
+ %li= icon('question-sign') + link_to(t(:overview_tickets), user_tickets_path(@user))
diff --git a/users/app/views/sessions/_admin_nav.html.haml b/users/app/views/sessions/_admin_nav.html.haml
deleted file mode 100644
index 14dfbdc..0000000
--- a/users/app/views/sessions/_admin_nav.html.haml
+++ /dev/null
@@ -1,6 +0,0 @@
-%a#admin-menu{"data-toggle" => "dropdown", :role => :button}
- Admin
-%ul.dropdown-menu{:role => "menu", "aria-labelledby" => "admin-menu"}
- %li
- = link_to Ticket.model_name.human(:count => ""), tickets_path, {:tabindex => -1}
- = link_to User.model_name.human(:count => ""), users_path, {:tabindex => -1}
diff --git a/users/app/views/sessions/_nav.html.haml b/users/app/views/sessions/_nav.html.haml
deleted file mode 100644
index ac85bb5..0000000
--- a/users/app/views/sessions/_nav.html.haml
+++ /dev/null
@@ -1,13 +0,0 @@
-- if logged_in?
- - if admin?
- %li.dropdown
- = render 'sessions/admin_nav'
- %li
- = link_to current_user.login, edit_user_path(current_user)
- %li
- = link_to t(:logout), logout_path, :method => :delete
-- else
- %li
- = link_to t(:login), login_path
- %li
- = link_to t(:signup), signup_path
diff --git a/users/app/views/sessions/new.html.haml b/users/app/views/sessions/new.html.haml
index 6743407..c915968 100644
--- a/users/app/views/sessions/new.html.haml
+++ b/users/app/views/sessions/new.html.haml
@@ -1,9 +1,10 @@
-.span8.offset2
+.span1
+.span9
= render :partial => 'users/warnings'
%h2=t :login
= simple_form_for @session, :validate => true, :html => { :id => :new_session, :class => 'form-horizontal' } do |f|
- %legend=t :login_message
- = f.input :login, :input_html => { :id => :srp_username }
- = f.input :password, :required => true, :input_html => { :id => :srp_password }
- = f.button :submit, :value => t(:login), :class => 'btn-primary'
- = link_to t(:cancel), root_url, :class => :btn \ No newline at end of file
+ = f.input :login, :required => false, :label => t(:username), :input_html => { :id => :srp_username }
+ = f.input :password, :required => false, :input_html => { :id => :srp_password }
+ .form-actions
+ = f.button :submit, :value => t(:login), :class => 'btn-primary'
+ = link_to t(:cancel), root_path, :class => 'btn'
diff --git a/users/app/views/users/_cancel_account.html.haml b/users/app/views/users/_cancel_account.html.haml
deleted file mode 100644
index c5ab36a..0000000
--- a/users/app/views/users/_cancel_account.html.haml
+++ /dev/null
@@ -1,9 +0,0 @@
-%legend
- - if @user == current_user
- =t :cancel_account
- %small You will not be able to login anymore.
- - else
- =t :admin_cancel_account, :username => @user.login
-= link_to user_path(@user), :method => :delete, :confirm => t(:confirm_question), :class => "btn btn-danger" do
- %i.icon-remove.icon-white
- =t :remove_account
diff --git a/users/app/views/users/_edit.html.haml b/users/app/views/users/_edit.html.haml
new file mode 100644
index 0000000..41a68fd
--- /dev/null
+++ b/users/app/views/users/_edit.html.haml
@@ -0,0 +1,42 @@
+-#
+-# edit user form, used by both show and edit actions.
+-#
+
+-#
+-# CHANGE PASSWORD
+-#
+-# * everything about this form is handled with javascript. So take care when changing any ids.
+-# * the login is required when changing the password because it is used as part of the salt when calculating the password verifier.
+-# however, we don't want the user to change their login without generating a new key, so we hide the ui for this
+-# (although it works perfectly fine to change username if the field was visible).
+-#
+- form_options = {:url => '/not-used', :html => {:class => user_form_class('form-horizontal'), :id => 'update_login_and_password'}, :validate => true}
+= simple_form_for @user, form_options do |f|
+ %legend= t(:change_password)
+ = hidden_field_tag 'user_param', @user.to_param
+ .hidden
+ = f.input :login, :label => t(:username), :required => false, :input_html => {:id => :srp_username}
+ = f.input :password, :required => false, :validate => true, :input_html => { :id => :srp_password }
+ = f.input :password_confirmation, :required => false, :input_html => { :id => :srp_password_confirmation }
+ .control-group
+ .controls
+ = f.submit t(:save), :class => 'btn btn-primary'
+
+-#
+-# DESTROY ACCOUNT
+-#
+
+%legend
+ - if @user == current_user
+ = t(:destroy_my_account)
+ - else
+ = t(:admin_destroy_account, :username => @user.login)
+%p= t(:destroy_account_info)
+= link_to user_path(@user), :method => :delete, :confirm => t(:are_you_sure), :class => "btn btn-danger" do
+ %i.icon-remove.icon-white
+ = t(:destroy_my_account)
+
+- # TODO: should show enabled field if admin is viewing another account.
+- # TODO: admins should be able to deactivate/enable regular accounts, as appropriate. before had:
+- # = render 'deactivate_account' if @user != current_user and @user.enabled?
+- # = render 'enable_account' if @user != current_user and !@user.enabled? \ No newline at end of file
diff --git a/users/app/views/users/_email_aliases.html.haml b/users/app/views/users/_email_aliases.html.haml
deleted file mode 100644
index 6e32700..0000000
--- a/users/app/views/users/_email_aliases.html.haml
+++ /dev/null
@@ -1,6 +0,0 @@
-.span6
- %ul.unstyled
- = render @user.email_aliases, :as => :li, :with => [:delete]
-.clearfix
-= f.simple_fields_for :email_aliases, @email_alias do |e|
- = e.input :username, :placeholder => "alias"
diff --git a/users/app/views/users/_email_field.html.haml b/users/app/views/users/_email_field.html.haml
deleted file mode 100644
index edf62c9..0000000
--- a/users/app/views/users/_email_field.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-= f.input :email, :placeholder => "me@#{APP_CONFIG[:domain]}"
diff --git a/users/app/views/users/_email_forward_field.html.haml b/users/app/views/users/_email_forward_field.html.haml
deleted file mode 100644
index 049428f..0000000
--- a/users/app/views/users/_email_forward_field.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-= f.input :email_forward
diff --git a/users/app/views/users/_form.html.haml b/users/app/views/users/_form.html.haml
deleted file mode 100644
index cb51175..0000000
--- a/users/app/views/users/_form.html.haml
+++ /dev/null
@@ -1,11 +0,0 @@
-- only = local_assigns[:only]
-- html = {:class => 'form-horizontal user form ' + (@user.new_record? ? 'new' : 'edit')}
-= simple_form_for @user, :validate => true, :format => :json, :html => html do |f|
- %legend
- = t(only || :signup_message)
- = yield
- .pull-right
- = f.button :submit
- - unless only
- = link_to t(:cancel), root_url, :class => :btn
- .clearfix
diff --git a/users/app/views/users/_legend_and_submit.html.haml b/users/app/views/users/_legend_and_submit.html.haml
deleted file mode 100644
index 6fc0e4a..0000000
--- a/users/app/views/users/_legend_and_submit.html.haml
+++ /dev/null
@@ -1,4 +0,0 @@
-%legend= t(legend)
-=yield
-.pull-right= f.button :submit, :value => t(legend)
-.clearfix
diff --git a/users/app/views/users/_login_and_password_fields.html.haml b/users/app/views/users/_login_and_password_fields.html.haml
deleted file mode 100644
index 0baefc7..0000000
--- a/users/app/views/users/_login_and_password_fields.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-= render :partial => 'login_field', :locals => {:f => f}
-= render :partial => 'password_fields', :locals => {:f => f, :password_confirmation_hint => t(:can_retype_old_password)} \ No newline at end of file
diff --git a/users/app/views/users/_login_field.html.haml b/users/app/views/users/_login_field.html.haml
deleted file mode 100644
index 8ab36c3..0000000
--- a/users/app/views/users/_login_field.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-= f.input :login, :input_html => { :id => :srp_username }
diff --git a/users/app/views/users/_password_fields.html.haml b/users/app/views/users/_password_fields.html.haml
deleted file mode 100644
index 47b7b07..0000000
--- a/users/app/views/users/_password_fields.html.haml
+++ /dev/null
@@ -1,2 +0,0 @@
-= f.input :password, :required => true, :validate => true, :input_html => { :id => :srp_password }
-= f.input :password_confirmation, :required => true, :hint => local_assigns[:password_confirmation_hint], :input_html => { :id => :srp_password_confirmation }
diff --git a/users/app/views/users/_public_key_field.html.haml b/users/app/views/users/_public_key_field.html.haml
deleted file mode 100644
index af88cbd..0000000
--- a/users/app/views/users/_public_key_field.html.haml
+++ /dev/null
@@ -1 +0,0 @@
-= f.input :public_key, :as => :text, :hint => t(:use_ascii_key), :input_html => {:class => "span5", :rows => 20} # will want to tweak this to be wide enough (maybe smaller text?)
diff --git a/users/app/views/users/_user.html.haml b/users/app/views/users/_user.html.haml
index ca03d34..990d9cf 100644
--- a/users/app/views/users/_user.html.haml
+++ b/users/app/views/users/_user.html.haml
@@ -1,10 +1,4 @@
%tr
- %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
- %i.icon-edit.icon-white
- Edit
- = link_to user_path(user), :method => :delete, :class => "btn btn-danger btn-mini" do
- %i.icon-remove.icon-white
- Remove
+ %td= link_to user.login, user_overview_path(user)
+ %td= l(user.created_at, :format => :short)
+ %td= l(user.updated_at, :format => :short)
diff --git a/users/app/views/users/edit.html.haml b/users/app/views/users/edit.html.haml
index 49b4f6c..434c025 100644
--- a/users/app/views/users/edit.html.haml
+++ b/users/app/views/users/edit.html.haml
@@ -1,19 +1 @@
-.span8.offset2
- %h2=t :settings
- - tabs = []
- - content_for :account do
- = user_form_with 'login_and_password_fields', :legend => :update_login_and_password if @user == current_user
- = render 'deactivate_account' if @user != current_user and @user.enabled?
- = render 'enable_account' if @user != current_user and !@user.enabled?
- = render 'cancel_account'
- - tabs << :account
- - if @user == current_user
- - content_for :email do
- %legend=t :email_address
- =t :associated_email
- = render @user.email_address, :as => :span
- = user_form_with 'public_key_field', :legend => :public_key
- = user_form_with 'email_forward_field', :legend => :forward_email
- = user_form_with 'email_aliases', :legend => :add_email_alias
- - tabs << :email
- = render 'tabs/tabs', :tabs => tabs
+= render 'edit'
diff --git a/users/app/views/users/index.html.haml b/users/app/views/users/index.html.haml
index 9e6a179..fc1001e 100644
--- a/users/app/views/users/index.html.haml
+++ b/users/app/views/users/index.html.haml
@@ -1,17 +1,13 @@
-.page-header
- %h1= User.model_name.human(:count =>User.count)
-.row
- .span8
- %h2= params[:query] ? "Users starting with '#{params[:query]}'" : "Last users who signed up"
- %table.table.table-hover
- %tr
- %th Login
- %th Created
- %th Action
- = render @users.all
- .span4
- %h4 Find user
- = form_tag users_path, :method => :get, :class => "form-search" do
- .input-append
- = text_field_tag :query, "", :class => "user typeahead span2 search-query", :autocomplete => :off
- %button.btn{:type => :submit} Search
+- @show_navigation = false
+
+= form_tag users_path, :method => :get, :class => "form-search" do
+ .input-append
+ = text_field_tag :query, params[:query], :id => 'user-typeahead', :class => "search-query", :autocomplete => :off
+ %button.btn{:type => :submit}= t(:search)
+
+%table.table.table-striped
+ %tr
+ %th= t(:username)
+ %th= t(:created)
+ %th= t(:updated)
+ = render @users.all
diff --git a/users/app/views/users/new.html.haml b/users/app/views/users/new.html.haml
index 80482b2..f8d14b5 100644
--- a/users/app/views/users/new.html.haml
+++ b/users/app/views/users/new.html.haml
@@ -1,12 +1,19 @@
-.span8.offset2
+-#
+-# This form is handled entirely by javascript, so take care when changing element ids.
+-#
+
+- form_options = {:url => '/not-used', :html => {:id => 'new_user', :class => user_form_class('form-horizontal')}, :validate => true}
+
+.span1
+.span9
= render :partial => 'warnings'
%h2=t :signup
- = user_form do |f|
+ = simple_form_for(@user, form_options) do |f|
%legend= t(:signup_message)
- = render :partial => 'login_field', :locals => {:f => f}
- = render :partial => 'password_fields', :locals => {:f => f}
- .pull-right
- = f.button :submit, :class => 'btn-primary'
- = link_to t(:cancel), root_url, :class => :btn
- .clearfix
+ = f.input :login, :label => t(:username), :required => false, :input_html => { :id => :srp_username }
+ = f.input :password, :required => false, :validate => true, :input_html => { :id => :srp_password }
+ = f.input :password_confirmation, :required => false, :validate => true, :input_html => { :id => :srp_password_confirmation }
+ .form-actions
+ = f.button :submit, :value => t(:signup), :class => 'btn btn-primary'
+ = link_to t(:cancel), root_url, :class => 'btn'
diff --git a/users/app/views/users/show.html.haml b/users/app/views/users/show.html.haml
index 52a9cf5..434c025 100644
--- a/users/app/views/users/show.html.haml
+++ b/users/app/views/users/show.html.haml
@@ -1,31 +1 @@
-.span8.offset1
- %h2= @user.login
- .small
- = link_to 'edit', edit_user_path(@user)
- %dl.offset1
- - fields = ['login', 'email_address', 'created_at', 'updated_at', 'email_forward', 'enabled']
- - fields.each do |field|
- %dt
- = field.titleize
- %dd
- = user_field(field)
- %dt
- =t :email_aliases
- %dd
- - aliases = @user.email_aliases
- - if aliases.present?
- %ul.pull-left.unstyled
- = render aliases
- - else
- =t :none
- .clearfix
- %dt
- =t :most_recently_updated_tickets
- %dd
- - tix = @user.most_recent_tickets
- - if tix.present?
- %table
- %tbody
- = render @user.most_recent_tickets
- - else
- =t :none \ No newline at end of file
+= render 'edit'