Commit be2a533f43f97276d6cd7ba6682c0e66415d5512

Authored by Gabriela Navarro
1 parent 27e1092c

Add link to create institution on admin panel

Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
controllers/mpog_software_plugin_controller.rb
... ... @@ -46,8 +46,19 @@ class MpogSoftwarePluginController &lt; ApplicationController
46 46 end
47 47 end
48 48  
  49 + def create_institution_admin
  50 +
  51 + end
  52 +
  53 + def split_http_referer http_referer
  54 + split_list = []
  55 + split_list = http_referer.split("/")
  56 + return split_list.last
  57 + end
  58 +
  59 +
49 60 def new_institution
50   - if request.xhr? and !params[:community].nil? and !params[:institution].nil?
  61 + if !params[:community].nil? and !params[:institution].nil?
51 62 response_message = {}
52 63  
53 64 institution = private_create_institution
... ... @@ -57,9 +68,12 @@ class MpogSoftwarePluginController &lt; ApplicationController
57 68 else
58 69 {:success => false, :message => _("Institution could not be created!"), :errors => institution.errors.full_messages}
59 70 end
60   -
  71 + if request.xhr? and (split_http_referer(request.referer()) != "create_institution_admin")
61 72 render :json => response_message.to_json
62 73 else
  74 + session[:notice] = response_message # consume the notice
  75 + end
  76 + else
63 77 redirect_to "/"
64 78 end
65 79 end
... ...
lib/mpog_software_plugin.rb
... ... @@ -291,6 +291,10 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
291 291 percentege
292 292 end
293 293  
  294 + def admin_panel_links
  295 + [{:title => _('Create Institution'), :url => {:controller => 'mpog_software_plugin', :action => 'create_institution_admin'}}]
  296 + end
  297 +
294 298 protected
295 299  
296 300 def create_url_to_edit_profile person
... ...
views/mpog_software_plugin/_institution.html.erb 0 → 100644
... ... @@ -0,0 +1,102 @@
  1 +<h1><%= _('New Institution') %></h1>
  2 +
  3 +<% if environment.enabled?('admin_must_approve_new_communities') %>
  4 + <div class='explanation'>
  5 + <%= _("Note that the creation of communities in this environment is restricted. Your request to create this new community will be sent to %{environment} administrators and will be approved or rejected according to their methods and criteria.") % { :environment => environment.name }%>
  6 + </div>
  7 +<%end %>
  8 +
  9 +<% unless @errors.blank? %>
  10 +<div class="errorExplanation" id="errorExplanation">
  11 + <h2> <%= _("Can`t create new Institution: #{@errors.length} errors") %> </h2>
  12 + <ul>
  13 + <% @errors.each do |error| %>
  14 + <li> <%= error %> </li>
  15 + <% end %>
  16 + </ul>
  17 +</div>
  18 +<% end %>
  19 +
  20 +<div id = 'create_institution_errors' class='errorExplanation hide-field'></div>
  21 +
  22 +<div>
  23 + <%= labelled_form_for :community, :html => { :multipart => true, :id=>"institution_form" } do |f| %>
  24 + <%= required f.text_field(:name) %>
  25 + <%= content_tag :span, _("Institution name already exists"), :id=>"already_exists_text", :class=>"errorExplanation hide-field" %>
  26 +
  27 + <%= required select_country(_('Country'), f, 'country', {:class => 'type-select', :id => "community_country"}) %>
  28 + <%= required f.text_field(:state) %>
  29 + <%= required f.text_field(:city) %>
  30 +
  31 + <%= fields_for :institutions do |inst| %>
  32 +
  33 + <span class='required-field'>
  34 + <div class="formfield type-text">
  35 + <%= inst.label("cnpj" ,_("CNPJ"), :class=>"formlabel") %>
  36 + <%= required inst.text_field(:cnpj, :placeholder=>"99.999.999/9999-99", :class=>"intitution_cnpj_field") %>
  37 + </div>
  38 + </span>
  39 +
  40 + <span class=''>
  41 + <div class='formfield type-radio'>
  42 + <%= label_tag("type_PublicInstitution", _("Public Institution")) %>
  43 + <%= radio_button_tag(:type,"PublicInstitution", true)%>
  44 + <%= label_tag("type_PrivateInstitution", _("Private Institution")) %>
  45 + <%= radio_button_tag(:type,"PrivateInstitution")%>
  46 + </div>
  47 + </span>
  48 +
  49 + <span class='optional-field'>
  50 + <div class="formfield type-text">
  51 + <%= hidden_field_tag "acronym_translate", _("Acronym") %>
  52 + <%= hidden_field_tag "fantasy_name_translate", _("Fantasy name") %>
  53 + <%= inst.label("acronym" ,_("Acronym"), :class=>"formlabel") %>
  54 + <%= inst.text_field(:acronym) %>
  55 + </div>
  56 + </span>
  57 +
  58 + <span class='required-field public-institutions-fields'>
  59 + <div class="formfield type-text">
  60 + <%= inst.label("governmental_power_id" ,_("Governmental Power:"), :class=>"formlabel") %>
  61 + <%= inst.select(:governmental_power, [[_("Select a Governmental Power"), 0]]|GovernmentalPower.all.map {|g| [g.name, g.id]}, {:selected=>0})%>
  62 + </div>
  63 + </span>
  64 +
  65 + <span class='required-field public-institutions-fields'>
  66 + <div class="formfield type-text">
  67 + <%= inst.label("governmental_sphere_id" ,_("Governmental Sphere:"), :class=>"formlabel") %>
  68 + <%= inst.select(:governmental_sphere, [[_("Select a Governmental Sphere"), 0]]|GovernmentalSphere.all.map {|s| [s.name, s.id]}, {:selected=>0})%>
  69 + </div>
  70 + </span>
  71 +
  72 + <span class='required-field public-institutions-fields'>
  73 + <div class="formfield type-text">
  74 + <%= inst.label("juridical_nature_id" ,_("Juridical Nature:"), :class=>"formlabel") %>
  75 + <%= inst.select(:juridical_nature, [[_("Select a Juridical Nature"), 0]]|JuridicalNature.all.map {|j| [j.name, j.id]}, {:selected=>0})%>
  76 + </div>
  77 + </span>
  78 +
  79 + <span class='required-field public-institutions-fields'>
  80 + <div class="formfield type-text">
  81 + <%= _("SISP?") %>
  82 + <% if @show_sisp_field %>
  83 + <%= inst.label("sisp" ,_("Yes")) %>
  84 + <%= inst.radio_button(:sisp, true) %>
  85 + <%= inst.label("sisp" ,_("No")) %>
  86 + <%= inst.radio_button(:sisp, false) %>
  87 + <% else %>
  88 + <%= inst.label("sisp", _("No")) %>
  89 + <% end %>
  90 + </div>
  91 + </span>
  92 + <br />
  93 +
  94 + <div>
  95 + <%= link_to(_('Save'), '#', :id=>'save_institution_button', :class=>'button with-text icon-add') %>
  96 + </div>
  97 + <%= hidden_field_tag :institution_error_message, _("Could not send the form data to the server") %>
  98 + <% end %>
  99 +
  100 + <% end %>
  101 +</div>
  102 +<%= hidden_field_tag :loading_message, _("Creating institution") %>
... ...
views/mpog_software_plugin/create_institution.html.erb
1   -<h1><%= _('New Institution') %></h1>
2   -
3   -<% if environment.enabled?('admin_must_approve_new_communities') %>
4   - <div class='explanation'>
5   - <%= _("Note that the creation of communities in this environment is restricted. Your request to create this new community will be sent to %{environment} administrators and will be approved or rejected according to their methods and criteria.") % { :environment => environment.name }%>
6   - </div>
7   -<%end %>
8   -
9   -<% unless @errors.blank? %>
10   -<div class="errorExplanation" id="errorExplanation">
11   - <h2> <%= _("Can`t create new Institution: #{@errors.length} errors") %> </h2>
12   - <ul>
13   - <% @errors.each do |error| %>
14   - <li> <%= error %> </li>
15   - <% end %>
16   - </ul>
17   -</div>
18   -<% end %>
19   -
20   -<div id = 'create_institution_errors' class='errorExplanation hide-field'></div>
21   -
22   -<div>
23   - <%= labelled_form_for :community, :html => { :multipart => true, :id=>"institution_form" } do |f| %>
24   - <%= required f.text_field(:name) %>
25   - <%= content_tag :span, _("Institution name already exists"), :id=>"already_exists_text", :class=>"errorExplanation hide-field" %>
26   -
27   - <%= required select_country(_('Country'), f, 'country', {:class => 'type-select', :id => "community_country"}) %>
28   - <%= required f.text_field(:state) %>
29   - <%= required f.text_field(:city) %>
30   -
31   - <%= fields_for :institutions do |inst| %>
32   -
33   - <span class='required-field'>
34   - <div class="formfield type-text">
35   - <%= inst.label("cnpj" ,_("CNPJ"), :class=>"formlabel") %>
36   - <%= required inst.text_field(:cnpj, :placeholder=>"99.999.999/9999-99", :class=>"intitution_cnpj_field") %>
37   - </div>
38   - </span>
39   -
40   - <span class=''>
41   - <div class='formfield type-radio'>
42   - <%= label_tag("type_PublicInstitution", _("Public Institution")) %>
43   - <%= radio_button_tag(:type,"PublicInstitution", true)%>
44   - <%= label_tag("type_PrivateInstitution", _("Private Institution")) %>
45   - <%= radio_button_tag(:type,"PrivateInstitution")%>
46   - </div>
47   - </span>
48   -
49   - <span class='optional-field'>
50   - <div class="formfield type-text">
51   - <%= hidden_field_tag "acronym_translate", _("Acronym") %>
52   - <%= hidden_field_tag "fantasy_name_translate", _("Fantasy name") %>
53   - <%= inst.label("acronym" ,_("Acronym"), :class=>"formlabel") %>
54   - <%= inst.text_field(:acronym) %>
55   - </div>
56   - </span>
57   -
58   - <span class='required-field public-institutions-fields'>
59   - <div class="formfield type-text">
60   - <%= inst.label("governmental_power_id" ,_("Governmental Power:"), :class=>"formlabel") %>
61   - <%= inst.select(:governmental_power, [[_("Select a Governmental Power"), 0]]|GovernmentalPower.all.map {|g| [g.name, g.id]}, {:selected=>0})%>
62   - </div>
63   - </span>
64   -
65   - <span class='required-field public-institutions-fields'>
66   - <div class="formfield type-text">
67   - <%= inst.label("governmental_sphere_id" ,_("Governmental Sphere:"), :class=>"formlabel") %>
68   - <%= inst.select(:governmental_sphere, [[_("Select a Governmental Sphere"), 0]]|GovernmentalSphere.all.map {|s| [s.name, s.id]}, {:selected=>0})%>
69   - </div>
70   - </span>
71   -
72   - <span class='required-field public-institutions-fields'>
73   - <div class="formfield type-text">
74   - <%= inst.label("juridical_nature_id" ,_("Juridical Nature:"), :class=>"formlabel") %>
75   - <%= inst.select(:juridical_nature, [[_("Select a Juridical Nature"), 0]]|JuridicalNature.all.map {|j| [j.name, j.id]}, {:selected=>0})%>
76   - </div>
77   - </span>
78   -
79   - <span class='required-field public-institutions-fields'>
80   - <div class="formfield type-text">
81   - <%= _("SISP?") %>
82   - <% if @show_sisp_field %>
83   - <%= inst.label("sisp" ,_("Yes")) %>
84   - <%= inst.radio_button(:sisp, true) %>
85   - <%= inst.label("sisp" ,_("No")) %>
86   - <%= inst.radio_button(:sisp, false) %>
87   - <% else %>
88   - <%= inst.label("sisp", _("No")) %>
89   - <% end %>
90   - </div>
91   - </span>
92   - <br />
93   -
94   - <div>
95   - <%= link_to(_('Save'), '#', :id=>'save_institution_button', :class=>'button with-text icon-add') %>
96   - </div>
97   - <%= hidden_field_tag :institution_error_message, _("Could not send the form data to the server") %>
98   - <% end %>
99   -
100   - <% end %>
101   -</div>
102   -<%= hidden_field_tag :loading_message, _("Creating institution") %>
  1 +<%= render :partial => "institution" %>
... ...
views/mpog_software_plugin/create_institution_admin.html.erb 0 → 100644
... ... @@ -0,0 +1 @@
  1 +<%= render :partial => "institution" %>
... ...