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

Reply via email to