Commit 04ac44270f95acfdc3b8a3b5aaf836a39fdcc498
Committed by
Gabriela Navarro
1 parent
673c1bce
Exists in
master
and in
5 other branches
fix_institution: Add errors messages when fail to create a new institution
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Showing
2 changed files
with
15 additions
and
9 deletions
Show diff stats
controllers/mpog_software_plugin_controller.rb
| @@ -46,10 +46,6 @@ class MpogSoftwarePluginController < ApplicationController | @@ -46,10 +46,6 @@ class MpogSoftwarePluginController < ApplicationController | ||
| 46 | end | 46 | end |
| 47 | end | 47 | end |
| 48 | 48 | ||
| 49 | - def create_institution_admin | ||
| 50 | - @url_token = split_http_referer request.original_url() | ||
| 51 | - end | ||
| 52 | - | ||
| 53 | def split_http_referer http_referer | 49 | def split_http_referer http_referer |
| 54 | split_list = [] | 50 | split_list = [] |
| 55 | split_list = http_referer.split("/") | 51 | split_list = http_referer.split("/") |
| @@ -57,11 +53,15 @@ class MpogSoftwarePluginController < ApplicationController | @@ -57,11 +53,15 @@ class MpogSoftwarePluginController < ApplicationController | ||
| 57 | return @url_token | 53 | return @url_token |
| 58 | end | 54 | end |
| 59 | 55 | ||
| 56 | + def create_institution_admin | ||
| 57 | + @url_token = split_http_referer request.original_url() | ||
| 58 | + end | ||
| 59 | + | ||
| 60 | def new_institution | 60 | def new_institution |
| 61 | if !params[:community].nil? and !params[:institutions].nil? | 61 | if !params[:community].nil? and !params[:institutions].nil? |
| 62 | response_message = {} | 62 | response_message = {} |
| 63 | 63 | ||
| 64 | - institution = private_create_institution | 64 | + institution = private_create_institution() |
| 65 | 65 | ||
| 66 | response_message = if institution.errors.full_messages.empty? and institution.valid? and institution.save | 66 | response_message = if institution.errors.full_messages.empty? and institution.valid? and institution.save |
| 67 | {:success => true, :message => _("Institution successful created!"), :institution_data=>{:name=>institution.name, :id=>institution.id}} | 67 | {:success => true, :message => _("Institution successful created!"), :institution_data=>{:name=>institution.name, :id=>institution.id}} |
| @@ -73,7 +73,13 @@ class MpogSoftwarePluginController < ApplicationController | @@ -73,7 +73,13 @@ class MpogSoftwarePluginController < ApplicationController | ||
| 73 | render :json => response_message.to_json | 73 | render :json => response_message.to_json |
| 74 | else | 74 | else |
| 75 | session[:notice] = response_message[:message] # consume the notice | 75 | session[:notice] = response_message[:message] # consume the notice |
| 76 | - redirect_to :controller => "/admin_panel", :action => "index" | 76 | + |
| 77 | + if response_message[:success] | ||
| 78 | + redirect_to :controller => "/admin_panel", :action => "index" | ||
| 79 | + else | ||
| 80 | + flash[:errors] = response_message[:errors] | ||
| 81 | + redirect_to :controller => "mpog_software_plugin", :action => "create_institution_admin" | ||
| 82 | + end | ||
| 77 | end | 83 | end |
| 78 | else | 84 | else |
| 79 | redirect_to "/" | 85 | redirect_to "/" |
views/mpog_software_plugin/_institution.html.erb
| @@ -6,11 +6,11 @@ | @@ -6,11 +6,11 @@ | ||
| 6 | </div> | 6 | </div> |
| 7 | <%end %> | 7 | <%end %> |
| 8 | 8 | ||
| 9 | -<% unless @errors.blank? %> | 9 | +<% unless flash[:errors].nil? %> |
| 10 | <div class="errorExplanation" id="errorExplanation"> | 10 | <div class="errorExplanation" id="errorExplanation"> |
| 11 | - <h2> <%= _("Can`t create new Institution: #{@errors.length} errors") %> </h2> | 11 | + <h2> <%= _("Can`t create new Institution: #{flash[:errors].length} errors") %> </h2> |
| 12 | <ul> | 12 | <ul> |
| 13 | - <% @errors.each do |error| %> | 13 | + <% flash[:errors].each do |error| %> |
| 14 | <li> <%= error %> </li> | 14 | <li> <%= error %> </li> |
| 15 | <% end %> | 15 | <% end %> |
| 16 | </ul> | 16 | </ul> |