This patch merges Jakub's and Tomas's patches for #642535 to
un-modalize the user form as well as my patch for #643121
to display errors on it.
Also added one line to the users controller so as to allow
admins to set user quotas when creating and editing users
(this field is only able to be set if the current user
has the user_modify priv)
---
src/app/controllers/users_controller.rb | 15 ++++--
src/app/stylesheets/aggregator.scss | 3 +-
src/app/views/users/_form.haml | 83 +++++++++++++++++--------------
src/app/views/users/edit.haml | 19 +------
src/app/views/users/new.haml | 14 ++---
5 files changed, 68 insertions(+), 66 deletions(-)
diff --git a/src/app/controllers/users_controller.rb
b/src/app/controllers/users_controller.rb
index 9bd037c..7dd5e1d 100644
--- a/src/app/controllers/users_controller.rb
+++ b/src/app/controllers/users_controller.rb
@@ -25,12 +25,18 @@ class UsersController < ApplicationController
def new
@user = User.new
+ @user.quota = Quota.new
end
def create
require_privilege(Privilege::USER_MODIFY) unless current_user.nil?
@user = User.new(params[:user])
+ if params[:commit] == "Reset"
+ redirect_to :action => :new
+ return
+ end
+
@registration = RegistrationService.new(@user)
if @registration.save
if @current_user
@@ -56,6 +62,7 @@ class UsersController < ApplicationController
def edit
@user = params[:id] ? User.find(params[:id]) : @current_user
+
if @user
if @user != @current_user
if
!BasePermissionObject.general_permission_scope.can_modify_users(@current_user)
@@ -67,8 +74,8 @@ class UsersController < ApplicationController
end
def update
- if params[:make_changes] || params[:save]
- @user = params[:user][:id] ? User.find(params[:user][:id]) :
@current_user
+ @user = params[:user][:id] ? User.find(params[:user][:id]) : @current_user
+ if params[:commit] == "Save"
if @user
if @user != @current_user
if
!BasePermissionObject.general_permission_scope.can_modify_users(@current_user)
@@ -83,8 +90,8 @@ class UsersController < ApplicationController
render :action => :edit
end
end
- elsif params[:reset]
- redirect_to :action => "edit", :user => @user
+ elsif params[:commit] == "Reset"
+ redirect_to :action => "edit", :id => @user.id
end
end
diff --git a/src/app/stylesheets/aggregator.scss
b/src/app/stylesheets/aggregator.scss
index 76021c2..1b43b88 100644
--- a/src/app/stylesheets/aggregator.scss
+++ b/src/app/stylesheets/aggregator.scss
@@ -121,6 +121,7 @@ input[type='submit'],button,.button {
display: inline-block;
margin-left: 3px;
margin: 40px 4px 4px;
+ float: left;
}
&.actionlink {
margin: 40px 0 0;
@@ -861,7 +862,7 @@ fieldset.gap {
padding: 4px 10px 0 0;
max-width: 10em;
}
- input {
+ input[type='text'], input[type='password'], textarea {
display: inline-block;
width: 20em;
}
diff --git a/src/app/views/users/_form.haml b/src/app/views/users/_form.haml
index 1e5dc59..8d87a2f 100644
--- a/src/app/views/users/_form.haml
+++ b/src/app/views/users/_form.haml
@@ -1,38 +1,47 @@
-%fieldset.clear
- = form.label :login, t(:choose_name), :class => "grid_3 alpha"
- = form.text_field :login, :class => "grid_5"
-%fieldset.clear
- = form.label :password, form.object.new_record? ? t(:choose_password) :
t(:change_password), :class => "grid_3 alpha"
- = form.password_field :password, :class => "grid_5"
-%fieldset
- = form.label :password_confirmation, t(:confirm_password), :class => "grid_3
alpha"
- = form.password_field :password_confirmation, :class => "grid_5"
--if has_user_modify?
- %fieldset.clear
- = form.label :user_status, "User Status:", :class => "alpha grid_3"
- .grid_5
- = radio_button_tag "user_status","Active",true
- = label_tag "user_status_active", "Active"
- = radio_button_tag "user_status","Inactive", false, :disabled => true
- = label_tag "user_status_inactive", "Inactive"
-%fieldset.clear
- = form.label :first_name, t(:first_name), :class => "alpha grid_3"
- = form.text_field :first_name, :class => "grid_5"
-%fieldset.clear
- = form.label :last_name, t(:last_name), :class => "alpha grid_3"
- = form.text_field :last_name, :class => "grid_5"
-%fieldset.clear
- = form.label :email, t(:email), :class => "alpha grid_3"
- = form.text_field :email, :class => "grid_5"
--if has_user_modify?
- %h3.grid_16 User Treatment
- = label_tag 'apply_treatment', t(:apply_treatment), :class => "alpha grid_3"
- = select_tag 'user_treatment', options_for_select([t(:choose_treatment)]),
:class => "grid_5"
- = submit_tag t(:apply), :disabled => true
-
- - form.fields_for :quota do |quota_form|
+.dcloud_form
+ - form_for @user, :url => account_path do |form|
+ = hidden_field :user, :id, :value => @user.id
+ = form.error_messages
+ %fieldset.clear
+ = form.label :login, t(:choose_name), :class => "grid_3 alpha"
+ = form.text_field :login, :class => "grid_5"
+ %fieldset.clear
+ = form.label :password, form.object.new_record? ? t(:choose_password) :
t(:change_password), :class => "grid_3 alpha"
+ = form.password_field :password, :class => "grid_5"
+ %fieldset
+ = form.label :password_confirmation, t(:confirm_password), :class =>
"grid_3 alpha"
+ = form.password_field :password_confirmation, :class => "grid_5"
+ -if has_user_modify?
+ %fieldset.clear
+ = form.label :user_status, "User Status:", :class => "alpha grid_3"
+ .grid_5
+ = radio_button_tag "user_status","Active",true
+ = label_tag "user_status_active", "Active"
+ = radio_button_tag "user_status","Inactive", false, :disabled => true
+ = label_tag "user_status_inactive", "Inactive"
%fieldset.clear
- = quota_form.label :maximum_running_instances,
t(:maximum_running_instances), :class => "alpha grid_3"
- = quota_form.text_field :maximum_running_instances, :class => "grid_5"
- (instances)
- = quota_form.error_message_on :maximum_running_instances, 'Maximum
Running Instances '
\ No newline at end of file
+ = form.label :first_name, t(:first_name), :class => "alpha grid_3"
+ = form.text_field :first_name, :class => "grid_5"
+ %fieldset.clear
+ = form.label :last_name, t(:last_name), :class => "alpha grid_3"
+ = form.text_field :last_name, :class => "grid_5"
+ %fieldset.clear
+ = form.label :email, t(:email), :class => "alpha grid_3"
+ = form.text_field :email, :class => "grid_5"
+ -if has_user_modify?
+ %h3.grid_16 User Treatment
+ %fieldset.clearfix
+ = label_tag 'apply_treatment', t(:apply_treatment), :class => "alpha
grid_3"
+ = select_tag 'user_treatment',
options_for_select([t(:choose_treatment)]), :class => "grid_5"
+ = submit_tag t(:apply), :disabled => true, :class => "grid_2"
+
+ - form.fields_for :quota do |quota_form|
+ %fieldset.clear
+ = quota_form.label :maximum_running_instances,
t(:maximum_running_instances), :class => "alpha grid_3"
+ = quota_form.text_field :maximum_running_instances, :class =>
"grid_5"
+ (instances)
+ = quota_form.error_message_on :maximum_running_instances, 'Maximum
Running Instances '
+ %fieldset.clearfix
+ = form.submit "Save", :class => "submit formbutton"
+ = form.submit "Reset", :class => "submit formbutton"
+ = link_to t(:cancel), cancel_path, :class => 'button formbutton'
diff --git a/src/app/views/users/edit.haml b/src/app/views/users/edit.haml
index 0228ab4..0551bee 100644
--- a/src/app/views/users/edit.haml
+++ b/src/app/views/users/edit.haml
@@ -1,19 +1,6 @@
.formwindow
- if has_user_modify?
- %h2.grid_16
- Editing User:
- = @user.first_name + " " + @user.last_name
- %h3.grid_16 Basic User Information
+ %h2 Editing User: #[email protected]_name} #[email protected]_name}
- else
- %h2.grid_16 Edit an Account
-- form_for @user, :url => { :action => 'update' } do |f|
- = f.error_messages
- = hidden_field :user, :id, :value => @user.id
- = render :partial => "form", :object => f
- %fieldset.clear
- = link_to "Cancel", users_path, :class => "formbutton button clear"
- - if has_user_modify?
- = f.submit "Reset", :class => "formbutton button", :name => "reset"
- = f.submit "Save", :class => "formbutton button", :name => "save"
- - else
- = f.submit "Make Changes", :class => "formbutton button", :name =>
"make_changes"
+ %h2 Editing Account
+= render :partial => "form", :object => @user, :locals => { :cancel_path =>
users_path}
diff --git a/src/app/views/users/new.haml b/src/app/views/users/new.haml
index b6ed86b..792d7c4 100644
--- a/src/app/views/users/new.haml
+++ b/src/app/views/users/new.haml
@@ -1,8 +1,6 @@
-.modalbox
- %h2 New Account
- .dcloud_form
- - form_for @user, :url => account_path do |f|
- = f.error_messages
- = render :partial => "form", :object => f
- = f.submit t(:create_account), :class => "submit dialogbutton"
- = link_to t(:cancel), :class => 'actionlink button dialogbutton'
+%h2 New Account
+-if (current_user)
+ = render :partial => "form", :locals => { :cancel_path => users_path}
+-else
+ .modalbox
+ = render :partial => "form", :locals => { :cancel_path => login_path}
--
1.7.2.3
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel