Commit a8563d11e2372a5f8230b2a74431cf7029e07c08

Authored by David Silva
Committed by Fabio Teixeira
1 parent 2ec7dec9

Clean registration software view.

- Create finality field
- Create new view with old software registration struct
- Save software only with name and finality field.
controllers/mpog_software_plugin_myprofile_controller.rb
@@ -14,85 +14,85 @@ class MpogSoftwarePluginMyprofileController < MyProfileController @@ -14,85 +14,85 @@ class MpogSoftwarePluginMyprofileController < MyProfileController
14 @community = Community.new(params[:community]) 14 @community = Community.new(params[:community])
15 @community.environment = environment 15 @community.environment = environment
16 @software_info = SoftwareInfo.new(params[:software_info]) 16 @software_info = SoftwareInfo.new(params[:software_info])
17 - @list_libraries = LibraryHelper.list_libraries(params[:library])  
18 - @list_languages = SoftwareLanguageHelper.list_language(params[:language])  
19 - @list_databases = DatabaseHelper.list_database(params[:database])  
20 - @software_categories = SoftwareCategories::new params[:software_categories]  
21 - @list_operating_systems = OperatingSystemHelper.list_operating_system(params[:operating_system])  
22 - @license_info = if params[:license_info].nil?  
23 - LicenseInfo::new  
24 - else  
25 - LicenseInfo.find(:first, :conditions =>["version = ?","#{params[:license_info][:version]}"])  
26 - end 17 + #@list_libraries = LibraryHelper.list_libraries(params[:library])
  18 + #@list_languages = SoftwareLanguageHelper.list_language(params[:language])
  19 + #@list_databases = DatabaseHelper.list_database(params[:database])
  20 + #@software_categories = SoftwareCategories::new params[:software_categories]
  21 + #@list_operating_systems = OperatingSystemHelper.list_operating_system(params[:operating_system])
  22 + #@license_info = if params[:license_info].nil?
  23 + # LicenseInfo::new
  24 + #else
  25 + # LicenseInfo.find(:first, :conditions =>["version = ?","#{params[:license_info][:version]}"])
  26 + #end
27 27
28 - if not @list_libraries.nil?  
29 - @list_libraries.each do |library|  
30 - @software_info.libraries << library  
31 - end  
32 - end 28 + #if not @list_libraries.nil?
  29 + # @list_libraries.each do |library|
  30 + # @software_info.libraries << library
  31 + # end
  32 + #end
33 33
34 - if not @list_languages.nil?  
35 - @list_languages.each do |language|  
36 - @software_info.software_languages << language  
37 - end  
38 - end 34 + #if not @list_languages.nil?
  35 + # @list_languages.each do |language|
  36 + # @software_info.software_languages << language
  37 + # end
  38 + #end
39 39
40 - if not @list_databases.nil?  
41 - @list_databases.each do |database|  
42 - @software_info.software_databases << database  
43 - end  
44 - end 40 + #if not @list_databases.nil?
  41 + # @list_databases.each do |database|
  42 + # @software_info.software_databases << database
  43 + # end
  44 + #end
45 45
46 - if not @list_operating_systems.nil?  
47 - @list_operating_systems.each do |operating_system|  
48 - @software_info.operating_systems << operating_system  
49 - end  
50 - end 46 + #if not @list_operating_systems.nil?
  47 + # @list_operating_systems.each do |operating_system|
  48 + # @software_info.operating_systems << operating_system
  49 + # end
  50 + #end
51 51
52 - valid_community = request.post? && @community.valid?  
53 - valid_software_info = request.post? && @software_info.valid?  
54 - valid_license = (request.post? && @license_info.valid?)  
55 - valid_libraries = @list_libraries.empty? || LibraryHelper.valid_list_libraries?(@list_libraries)  
56 - valid_database = DatabaseHelper.valid_list_database?(@list_databases)  
57 - valid_language = SoftwareLanguageHelper.valid_list_language?(@list_languages)  
58 - valid_operating_system = OperatingSystemHelper.valid_list_operating_system?(@list_operating_systems)  
59 - valid_software_categories = request.post? && @software_categories.valid? 52 + valid_community = request.post? && @community.valid?
  53 + valid_software_info = request.post? && @software_info.valid?
  54 + #valid_license = (request.post? && @license_info.valid?)
  55 + #valid_libraries = @list_libraries.empty? || LibraryHelper.valid_list_libraries?(@list_libraries)
  56 + #valid_database = DatabaseHelper.valid_list_database?(@list_databases)
  57 + #valid_language = SoftwareLanguageHelper.valid_list_language?(@list_languages)
  58 + #valid_operating_system = OperatingSystemHelper.valid_list_operating_system?(@list_operating_systems)
  59 + #valid_software_categories = request.post? && @software_categories.valid?
60 60
61 - if valid_software_info && valid_community && valid_libraries && valid_license && valid_language && valid_database && valid_operating_system && valid_software_categories  
62 - @community = Community.create_after_moderation(user, {:environment => environment}.merge(params[:community]), @software_info, @license_info, @software_categories) 61 + if valid_software_info && valid_community
  62 + @community = Community.create_after_moderation(user, {:environment => environment}.merge(params[:community]), @software_info )
  63 + redirect_to :controller => 'memberships', :action => 'index'
63 64
64 - unless params[:q].nil?  
65 - admins = params[:q].split(/,/).map{|n| environment.people.find n.to_i} 65 + unless params[:q].nil?
  66 + admins = params[:q].split(/,/).map{|n| environment.people.find n.to_i}
66 67
67 - admins.each do |admin|  
68 - @community.add_member(admin)  
69 - @community.add_admin(admin)  
70 - end  
71 - end 68 + admins.each do |admin|
  69 + @community.add_member(admin)
  70 + @community.add_admin(admin)
  71 + end
  72 + end
72 73
73 - redirect_to :controller => 'memberships', :action => 'index'  
74 - else  
75 - @list_libraries.each do |lib|  
76 - @errors |= lib.errors.full_messages  
77 - end  
78 -  
79 - @list_languages.each do |lng|  
80 - @errors |= lng.errors.full_messages  
81 - end  
82 -  
83 - @list_databases.each do |db|  
84 - @errors |= db.errors.full_messages  
85 - end 74 + else
  75 + # @list_libraries.each do |lib|
  76 + # @errors |= lib.errors.full_messages
  77 + # end
  78 + #
  79 + # @list_languages.each do |lng|
  80 + # @errors |= lng.errors.full_messages
  81 + # end
  82 + #
  83 + # @list_databases.each do |db|
  84 + # @errors |= db.errors.full_messages
  85 + # end
86 86
87 - @list_operating_systems.each do |os|  
88 - @errors |= os.errors.full_messages  
89 - end 87 + # @list_operating_systems.each do |os|
  88 + # @errors |= os.errors.full_messages
  89 + # end
90 90
91 - @errors |= @community.errors.full_messages  
92 - @errors |= @software_info.errors.full_messages  
93 - @errors |= @license_info.errors.full_messages  
94 - @errors |= @software_categories.errors.full_messages  
95 - end 91 + @errors |= @community.errors.full_messages
  92 + @errors |= @software_info.errors.full_messages
  93 + # @errors |= @license_info.errors.full_messages
  94 + # @errors |= @software_categories.errors.full_messages
  95 + #end
96 end 96 end
97 97
98 def search_offerers 98 def search_offerers
@@ -101,3 +101,4 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController @@ -101,3 +101,4 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
101 render :text => prepare_to_token_input(result).to_json 101 render :text => prepare_to_token_input(result).to_json
102 end 102 end
103 end 103 end
  104 +end
db/migrate/20141007140419_add_finality_field_to_software_table.rb 0 → 100644
@@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
  1 +class AddFinalityFieldToSoftwareTable < ActiveRecord::Migration
  2 + def up
  3 + add_column :software_infos, :finality, :string, :limit => 140
  4 +
  5 + end
  6 +
  7 + def down
  8 + remove_column :software_info, :finality
  9 + end
  10 +end
lib/software_info.rb
1 class SoftwareInfo < ActiveRecord::Base 1 class SoftwareInfo < ActiveRecord::Base
2 - attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, :operating_platform, :demonstration_url, :acronym, :objectives, :features, :license_infos_id, :community_id  
3 -  
4 - has_many :libraries, :dependent => :destroy  
5 - has_many :software_databases  
6 - has_many :database_descriptions, :through => :software_databases  
7 - has_many :software_languages  
8 - has_many :operating_systems  
9 - has_many :programming_languages, :through => :software_languages  
10 - has_many :operating_system_names, :through => :operating_systems  
11 -  
12 - belongs_to :community  
13 - belongs_to :license_info  
14 -  
15 - has_one :software_categories  
16 -  
17 - validates :features, :objectives,  
18 - :presence=>true,  
19 - :length => {  
20 - :maximum => 4000,  
21 - :too_long => _("Software features is too long (maximum is 4000 characters)")  
22 - }  
23 -  
24 - validate :validate_operating_platform, :validate_acronym, :valid_software_info, :valid_databases, :valid_operating_systems 2 + # attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, :operating_platform, :demonstration_url, :acronym, :objectives, :features, :license_infos_id, :community_id, :finality
  3 + attr_accessible :finality
  4 +
  5 + #has_many :libraries, :dependent => :destroy
  6 + #has_many :software_databases
  7 + #has_many :database_descriptions, :through => :software_databases
  8 + #has_many :software_languages
  9 + #has_many :operating_systems
  10 + #has_many :programming_languages, :through => :software_languages
  11 + #has_many :operating_system_names, :through => :operating_systems
  12 +
  13 + belongs_to :community
  14 + #belongs_to :license_info
  15 +
  16 + #has_one :software_categories
  17 +
  18 + #validates :features, :objectives,
  19 + # :presence=>true,
  20 + # :length => {
  21 + # :maximum => 4000,
  22 + # :too_long => _("Software features is too long (maximum is 4000 characters)")
  23 + # }
  24 +
  25 + #validate :validate_operating_platform, :validate_acronym, :valid_software_info, :valid_databases, :valid_operating_systems
  26 +
  27 + #validate :finality, :presence => {:message => "Finality cannot be blank"}
  28 + validate :validate_finality
  29 +
25 30
26 # used on find_by_contents 31 # used on find_by_contents
27 scope :like_search, lambda{ |name| 32 scope :like_search, lambda{ |name|
@@ -115,6 +120,11 @@ class SoftwareInfo &lt; ActiveRecord::Base @@ -115,6 +120,11 @@ class SoftwareInfo &lt; ActiveRecord::Base
115 end 120 end
116 end 121 end
117 122
  123 + def validate_finality
  124 + self.errors.add(:finality, _("can't be blank")) if self.finality.blank? && self.errors.messages[:finality].nil?
  125 + end
  126 +
  127 +
118 def valid_operating_systems 128 def valid_operating_systems
119 self.errors.add(:operating_system, _(": at least one must be filled")) if self.operating_systems.empty? 129 self.errors.add(:operating_system, _(": at least one must be filled")) if self.operating_systems.empty?
120 end 130 end
views/mpog_software_plugin_myprofile/new_software.html.erb
@@ -28,222 +28,11 @@ @@ -28,222 +28,11 @@
28 28
29 <%= fields_for @software_info do |swf| %> 29 <%= fields_for @software_info do |swf| %>
30 <div class="formfield type-text"> 30 <div class="formfield type-text">
31 - <%= swf.label("acronym" ,_("Acronym"), :class=>"formlabel") %>  
32 - <%= swf.text_field(:acronym) %>  
33 - </div>  
34 -  
35 - <div class="formfieldline">  
36 - <%= swf.label _("Adherent to e-PING ?") %>  
37 -  
38 - <%= swf.label "e_ping_true", "Yes" %>  
39 - <%= swf.radio_button(:e_ping,true)%>  
40 - <%= swf.label "e_ping_false", "No"%>  
41 - <%= swf.radio_button(:e_ping,false)%>  
42 - </div>  
43 -  
44 - <div class="formfieldline">  
45 - <%= swf.label _("Adherent to e-MAG ?") %>  
46 -  
47 - <%= swf.label "e_mag_true", "Yes"%>  
48 - <%= swf.radio_button(:e_mag,true)%>  
49 - <%= swf.label "e_mag_false", "No"%>  
50 - <%= swf.radio_button(:e_mag,false)%>  
51 - </div>  
52 -  
53 - <div class="formfieldline">  
54 - <%= swf.label _("Adherent to ICP-Brasil ?") %>  
55 -  
56 - <%= swf.label "icp_brasil_true", "Yes"%>  
57 - <%= swf.radio_button(:icp_brasil,true)%>  
58 - <%= swf.label "icp_brasil_false", "No"%>  
59 - <%= swf.radio_button(:icp_brasil,false)%>  
60 - </div>  
61 -  
62 - <div class="formfieldline">  
63 - <%= swf.label _("Adherent to e-ARQ ?") %>  
64 -  
65 - <%= swf.label "e_arq_true", "Yes"%>  
66 - <%= swf.radio_button(:e_arq,true)%>  
67 - <%= swf.label "e_arq_false", "No"%>  
68 - <%= swf.radio_button(:e_arq,false)%>  
69 - </div>  
70 -  
71 - <div class="formfieldline">  
72 - <%= swf.label _("Internacionalizable ?") %>  
73 -  
74 - <%= swf.label "intern_true", "Yes" %>  
75 - <%= swf.radio_button(:intern,true)%>  
76 - <%= swf.label "intern_false", "No"%>  
77 - <%= swf.radio_button(:intern,false)%>  
78 - <div class="formfieldline">  
79 - <%= swf.label "operating_platform", _("Operating Platform: ") %> <br />  
80 - <%= swf.text_area(:operating_platform) %>  
81 - </div>  
82 -  
83 - <div class="formfieldline">  
84 - <%= swf.label "objectives", _("Objectives: ")%><br />  
85 - <%= required swf.text_area(:objectives) %>  
86 - </div>  
87 -  
88 - <div class="formfieldline">  
89 - <%= swf.label "features", _("Features: ")%><br />  
90 - <%= required swf.text_area(:features) %>  
91 - </div>  
92 -  
93 - <div class="formfieldline formfield type-text">  
94 - <%= swf.label "demonstration_url", _("Demonstration URL: ") %>  
95 - <%= swf.text_field(:demonstration_url) %> 31 + <%= swf.label("finality" ,_("Finality"), :class=>"formlabel") %>
  32 + <%= required swf.text_field(:finality) %>
96 </div> 33 </div>
97 <% end %> 34 <% end %>
98 35
99 - <div class="formfieldline">  
100 - <%= content_tag('label', _('Fill in the search field to add offerers for this Software'), :id => "text-input-search-offerers") %>  
101 - <%= token_input_field_tag(:q, 'search-offerers', {:action => 'search_offerers'}, { :focus => true, :hint_text => _('Type in a search term for a person to be added as  
102 -offerers'), :pre_populate => @tokenized_children}) %>  
103 - </div>  
104 -  
105 - <div id='libraries_fields'>  
106 - <h4> <%= _("Libraries") %> </h4>  
107 - <%= render :partial => 'library_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :libraries => @list_libraries } %>  
108 - </div>  
109 - <br />  
110 -  
111 - <div id='operating_system_fields'>  
112 - <h4> <%= _("Operating Systems") %> </h4>  
113 - <% if @list_operating_systems.blank? %>  
114 - <%= OperatingSystemHelper.operating_system_as_tables(nil, false).call %>  
115 - <% end %>  
116 - <%= render :partial => 'operating_system_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :operating_systems_fields => @list_operating_systems} %>  
117 - </div>  
118 - <br />  
119 -  
120 - <%= fields_for @license_info do |lcv| %>  
121 - <div class="formfieldline">  
122 - <h4> <%= lcv.label _("License Version: ") %> </h4>  
123 - <%= lcv.select(:version, LicenseInfo.all.map {|l| [l.version, l.version]}, {:selected=>1}, :onchange => "get_license_link('license_info_version')") %>  
124 -  
125 - <h4> <%= _("License link") %> </h4>  
126 - <% LicenseHelper.getListLicenses.each do | license | %>  
127 - <input type="hidden" id = "version_<%=license.id %>" value = "<%=license.link%>">  
128 - <% end %>  
129 - <a id = "version_link" href="<%= LicenseInfo.first.link %>" target="_BLANK"> <%=LicenseInfo.first.link %> </a>  
130 -  
131 - </div>  
132 - <% end %>  
133 -  
134 - <br />  
135 - <div id='programming_languages_fields'>  
136 - <h4> <%= _("Programming languages") %> </h4>  
137 - <% if @list_languages.blank? %>  
138 - <%= SoftwareLanguageHelper.language_as_tables(nil, false).call %>  
139 - <% end %>  
140 -  
141 - <%= render :partial => 'language_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :languages => @list_languages } %>  
142 - </div>  
143 -  
144 - <br />  
145 - <div id='database_fields'>  
146 - <h4> <%= _("Databases") %> </h4>  
147 - <% if @list_databases.blank? %>  
148 - <%= DatabaseHelper.database_as_tables(nil, true).call %>  
149 - <% end %>  
150 -  
151 - <%= render :partial => 'database_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :database => @list_databases } %>  
152 - </div>  
153 -  
154 - <%= fields_for @software_categories do |cv| %>  
155 - <div id="software_categories_fields">  
156 - <h4> <%= _("Software Categories:") %> </h4>  
157 -  
158 - <%= cv.check_box :administration %>  
159 - <%= cv.label :administration, _("Administration") %><br />  
160 -  
161 - <%= cv.check_box :agriculture %>  
162 - <%= cv.label :agriculture, _("Agriculture") %><br />  
163 -  
164 - <%= cv.check_box :business_and_services %>  
165 - <%= cv.label :business_and_services, _("Business_and Services") %><br />  
166 -  
167 - <%= cv.check_box :communication %>  
168 - <%= cv.label :communication, _("Communication") %><br />  
169 -  
170 - <%= cv.check_box :culture %>  
171 - <%= cv.label :culture, _("Culture") %><br />  
172 -  
173 - <%= cv.check_box :national_defense %>  
174 - <%= cv.label :national_defense, _("National Defense") %><br />  
175 -  
176 - <%= cv.check_box :economy_and_finances %>  
177 - <%= cv.label :economy_and_finances, _("Economy and Finances") %><br />  
178 -  
179 - <%= cv.check_box :education %>  
180 - <%= cv.label :education, _("Education") %><br />  
181 -  
182 - <%= cv.check_box :energy %>  
183 - <%= cv.label :energy, _("Energy") %><br />  
184 -  
185 - <%= cv.check_box :sports %>  
186 - <%= cv.label :sports, _("Sports") %><br />  
187 -  
188 - <%= cv.check_box :habitation %>  
189 - <%= cv.label :habitation, _("Habitation") %><br />  
190 -  
191 - <%= cv.check_box :industry %>  
192 - <%= cv.label :industry, _("Industry") %><br />  
193 -  
194 - <%= cv.check_box :environment %>  
195 - <%= cv.label :environment, _("Environment") %><br />  
196 -  
197 - <%= cv.check_box :research_and_development %>  
198 - <%= cv.label :research_and_development, _("Research and Development") %><br />  
199 -  
200 - <%= cv.check_box :social_security %>  
201 - <%= cv.label :social_security, _("Social Security") %><br />  
202 -  
203 - <%= cv.check_box :social_protection %>  
204 - <%= cv.label :social_protection, _("Social Protection") %><br />  
205 -  
206 - <%= cv.check_box :sanitation %>  
207 - <%= cv.label :sanitation, _("Sanitation") %><br />  
208 -  
209 - <%= cv.check_box :health %>  
210 - <%= cv.label :health, _("Health") %><br />  
211 -  
212 - <%= cv.check_box :security_public_order %>  
213 - <%= cv.label :security_public_order, _("Security and Public Order") %><br />  
214 -  
215 - <%= cv.check_box :work %>  
216 - <%= cv.label :work, _("Work") %><br />  
217 -  
218 - <%= cv.check_box :transportation %>  
219 - <%= cv.label :transportation, _("Transportation") %><br />  
220 -  
221 - <%= cv.check_box :urbanism %>  
222 - <%= cv.label :urbanism, _("Urbanism") %><br />  
223 - </div>  
224 - <% end %>  
225 - <%= render :partial => 'shared/organization_custom_fields', :locals => { :f => f, :object_name => 'community', :profile => @community } %>  
226 -  
227 - <%= f.fields_for :image_builder, @community.image do |i| %>  
228 - <%= file_field_or_thumbnail(_('Image:'), @community.image, i) %>  
229 - <% end %>  
230 -  
231 - <div style='margin-bottom: 1em; margin-top: 1em;'>  
232 - <%= _('New members must be approved:')%>  
233 - </div>  
234 - <div style='margin-bottom: 0.5em' id='community-join-before'>  
235 - <%= radio_button 'community', 'closed', 'true', :style => 'float: left' %>  
236 - <div style='margin-left: 30px'>  
237 - <%= _('<strong>Before</strong> joining this group (a moderator has to accept the member in pending request before member can access the intranet and/or the website).') %>  
238 - </div>  
239 - </div>  
240 - <div id='community-join-after'>  
241 - <%= radio_button 'community', 'closed', 'false', :style => 'float: left' %>  
242 - <div style='margin-left: 30px'>  
243 - <%= _('<strong>After</strong> joining this group (a moderator can always desactivate access for users later).') %>  
244 - </div>  
245 - </div>  
246 -  
247 <%= template_options(:communities, 'community')%> 36 <%= template_options(:communities, 'community')%>
248 37
249 <%= hidden_field_tag('back_to', @back_to) %> 38 <%= hidden_field_tag('back_to', @back_to) %>
views/mpog_software_plugin_myprofile/public_software_info.html.erb 0 → 100644
@@ -0,0 +1,258 @@ @@ -0,0 +1,258 @@
  1 +<%= javascript_include_tag "mpog-validations" %>
  2 +
  3 +<h1><%= _('Creating new software') %></h1>
  4 +
  5 +<% if environment.enabled?('admin_must_approve_new_communities') %>
  6 + <div class='explanation'>
  7 + <%= _("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 }%>
  8 + </div>
  9 +<%end %>
  10 +
  11 +<% unless @errors.blank? %>
  12 +<div class="errorExplanation" id="errorExplanation">
  13 + <h2> <%= _("Can`t create new software: #{@errors.length} errors") %> </h2>
  14 + <ul>
  15 + <% @errors.each do |error| %>
  16 + <li> <%= error %> </li>
  17 + <% end %>
  18 + </ul>
  19 +</div>
  20 +<% end %>
  21 +
  22 +<div>
  23 + <%= labelled_form_for :community, :html => { :multipart => true } do |f| %>
  24 +
  25 + <%= required_fields_message %>
  26 +
  27 + <%= required f.text_field(:name) %>
  28 +
  29 + <%= fields_for @software_info do |swf| %>
  30 + <div class="formfield type-text">
  31 + <%= swf.label("acronym" ,_("Acronym"), :class=>"formlabel") %>
  32 + <%= swf.text_field(:acronym) %>
  33 + </div>
  34 +
  35 + <div class="formfieldline">
  36 + <%= swf.label _("Adherent to e-PING ?") %>
  37 +
  38 + <%= swf.label "e_ping_true", "Yes" %>
  39 + <%= swf.radio_button(:e_ping,true)%>
  40 + <%= swf.label "e_ping_false", "No"%>
  41 + <%= swf.radio_button(:e_ping,false)%>
  42 + </div>
  43 +
  44 + <div class="formfieldline">
  45 + <%= swf.label _("Adherent to e-MAG ?") %>
  46 +
  47 + <%= swf.label "e_mag_true", "Yes"%>
  48 + <%= swf.radio_button(:e_mag,true)%>
  49 + <%= swf.label "e_mag_false", "No"%>
  50 + <%= swf.radio_button(:e_mag,false)%>
  51 + </div>
  52 +
  53 + <div class="formfieldline">
  54 + <%= swf.label _("Adherent to ICP-Brasil ?") %>
  55 +
  56 + <%= swf.label "icp_brasil_true", "Yes"%>
  57 + <%= swf.radio_button(:icp_brasil,true)%>
  58 + <%= swf.label "icp_brasil_false", "No"%>
  59 + <%= swf.radio_button(:icp_brasil,false)%>
  60 + </div>
  61 +
  62 + <div class="formfieldline">
  63 + <%= swf.label _("Adherent to e-ARQ ?") %>
  64 +
  65 + <%= swf.label "e_arq_true", "Yes"%>
  66 + <%= swf.radio_button(:e_arq,true)%>
  67 + <%= swf.label "e_arq_false", "No"%>
  68 + <%= swf.radio_button(:e_arq,false)%>
  69 + </div>
  70 +
  71 + <div class="formfieldline">
  72 + <%= swf.label _("Internacionalizable ?") %>
  73 +
  74 + <%= swf.label "intern_true", "Yes" %>
  75 + <%= swf.radio_button(:intern,true)%>
  76 + <%= swf.label "intern_false", "No"%>
  77 + <%= swf.radio_button(:intern,false)%>
  78 + <div class="formfieldline">
  79 + <%= swf.label "operating_platform", _("Operating Platform: ") %> <br />
  80 + <%= swf.text_area(:operating_platform, :class=>"expand-field") %>
  81 + </div>
  82 +
  83 + <div class="formfieldline">
  84 + <%= swf.label "objectives", _("Objectives: ")%><br />
  85 + <%= required swf.text_area(:objectives, :class=>"expand-field") %>
  86 + </div>
  87 +
  88 + <div class="formfieldline">
  89 + <%= swf.label "features", _("Features: ")%><br />
  90 + <%= required swf.text_area(:features, :class=>"expand-field") %>
  91 + </div>
  92 +
  93 + <div class="formfieldline formfield type-text">
  94 + <%= swf.label "demonstration_url", _("Demonstration URL: ") %>
  95 + <%= swf.text_field(:demonstration_url) %>
  96 + </div>
  97 + <% end %>
  98 +
  99 + <div class="formfieldline">
  100 + <%= content_tag('label', _('Fill in the search field to add offerers for this Software'), :id => "text-input-search-offerers") %>
  101 + <%= token_input_field_tag(:q, 'search-offerers', {:action => 'search_offerers'}, { :focus => true, :hint_text => _('Type in a search term for a person to be added as
  102 +offerers'), :pre_populate => @tokenized_children}) %>
  103 + </div>
  104 +
  105 + <div id='libraries_fields'>
  106 + <h4> <%= _("Libraries") %> </h4>
  107 + <%= render :partial => 'library_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :libraries => @list_libraries } %>
  108 + </div>
  109 + <br />
  110 +
  111 + <div id='operating_system_fields'>
  112 + <h4> <%= _("Operating Systems") %> </h4>
  113 + <% if @list_operating_systems.blank? %>
  114 + <%= OperatingSystemHelper.operating_system_as_tables(nil, false).call %>
  115 + <% end %>
  116 + <%= render :partial => 'operating_system_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :operating_systems_fields => @list_operating_systems} %>
  117 + </div>
  118 + <br />
  119 +
  120 + <%= fields_for @license_info do |lcv| %>
  121 + <div class="formfieldline">
  122 + <h4> <%= lcv.label _("License Version: ") %> </h4>
  123 + <%= lcv.select(:version, LicenseInfo.all.map {|l| [l.version, l.version]}, {:selected=>1}, :onchange => "get_license_link('license_info_version')") %>
  124 +
  125 + <h4> <%= _("License link") %> </h4>
  126 + <% LicenseHelper.getListLicenses.each do | license | %>
  127 + <input type="hidden" id = "version_<%=license.id %>" value = "<%=license.link%>">
  128 + <% end %>
  129 + <a id = "version_link" href="<%= LicenseInfo.first.link %>" target="_BLANK"> <%=LicenseInfo.first.link %> </a>
  130 +
  131 + </div>
  132 + <% end %>
  133 +
  134 + <br />
  135 + <div id='programming_languages_fields'>
  136 + <h4> <%= _("Programming languages") %> </h4>
  137 + <% if @list_languages.blank? %>
  138 + <%= SoftwareLanguageHelper.language_as_tables(nil, false).call %>
  139 + <% end %>
  140 +
  141 + <%= render :partial => 'language_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :languages => @list_languages } %>
  142 + </div>
  143 +
  144 + <br />
  145 + <div id='database_fields'>
  146 + <h4> <%= _("Databases") %> </h4>
  147 + <% if @list_databases.blank? %>
  148 + <%= DatabaseHelper.database_as_tables(nil, true).call %>
  149 + <% end %>
  150 +
  151 + <%= render :partial => 'database_fields', :locals => { :f => f, :object_name => 'community', :profile => @community, :database => @list_databases } %>
  152 + </div>
  153 +
  154 + <%= fields_for @software_categories do |cv| %>
  155 + <div id="software_categories_fields">
  156 + <h4> <%= _("Software Categories:") %> </h4>
  157 +
  158 + <%= cv.check_box :administration %>
  159 + <%= cv.label :administration, _("Administration") %><br />
  160 +
  161 + <%= cv.check_box :agriculture %>
  162 + <%= cv.label :agriculture, _("Agriculture") %><br />
  163 +
  164 + <%= cv.check_box :business_and_services %>
  165 + <%= cv.label :business_and_services, _("Business_and Services") %><br />
  166 +
  167 + <%= cv.check_box :communication %>
  168 + <%= cv.label :communication, _("Communication") %><br />
  169 +
  170 + <%= cv.check_box :culture %>
  171 + <%= cv.label :culture, _("Culture") %><br />
  172 +
  173 + <%= cv.check_box :national_defense %>
  174 + <%= cv.label :national_defense, _("National Defense") %><br />
  175 +
  176 + <%= cv.check_box :economy_and_finances %>
  177 + <%= cv.label :economy_and_finances, _("Economy and Finances") %><br />
  178 +
  179 + <%= cv.check_box :education %>
  180 + <%= cv.label :education, _("Education") %><br />
  181 +
  182 + <%= cv.check_box :energy %>
  183 + <%= cv.label :energy, _("Energy") %><br />
  184 +
  185 + <%= cv.check_box :sports %>
  186 + <%= cv.label :sports, _("Sports") %><br />
  187 +
  188 + <%= cv.check_box :habitation %>
  189 + <%= cv.label :habitation, _("Habitation") %><br />
  190 +
  191 + <%= cv.check_box :industry %>
  192 + <%= cv.label :industry, _("Industry") %><br />
  193 +
  194 + <%= cv.check_box :environment %>
  195 + <%= cv.label :environment, _("Environment") %><br />
  196 +
  197 + <%= cv.check_box :research_and_development %>
  198 + <%= cv.label :research_and_development, _("Research and Development") %><br />
  199 +
  200 + <%= cv.check_box :social_security %>
  201 + <%= cv.label :social_security, _("Social Security") %><br />
  202 +
  203 + <%= cv.check_box :social_protection %>
  204 + <%= cv.label :social_protection, _("Social Protection") %><br />
  205 +
  206 + <%= cv.check_box :sanitation %>
  207 + <%= cv.label :sanitation, _("Sanitation") %><br />
  208 +
  209 + <%= cv.check_box :health %>
  210 + <%= cv.label :health, _("Health") %><br />
  211 +
  212 + <%= cv.check_box :security_public_order %>
  213 + <%= cv.label :security_public_order, _("Security and Public Order") %><br />
  214 +
  215 + <%= cv.check_box :work %>
  216 + <%= cv.label :work, _("Work") %><br />
  217 +
  218 + <%= cv.check_box :transportation %>
  219 + <%= cv.label :transportation, _("Transportation") %><br />
  220 +
  221 + <%= cv.check_box :urbanism %>
  222 + <%= cv.label :urbanism, _("Urbanism") %><br />
  223 + </div>
  224 + <% end %>
  225 + <%= render :partial => 'shared/organization_custom_fields', :locals => { :f => f, :object_name => 'community', :profile => @community } %>
  226 +
  227 + <%= f.fields_for :image_builder, @community.image do |i| %>
  228 + <%= file_field_or_thumbnail(_('Image:'), @community.image, i) %>
  229 + <% end %>
  230 +
  231 + <div style='margin-bottom: 1em; margin-top: 1em;'>
  232 + <%= _('New members must be approved:')%>
  233 + </div>
  234 + <div style='margin-bottom: 0.5em' id='community-join-before'>
  235 + <%= radio_button 'community', 'closed', 'true', :style => 'float: left' %>
  236 + <div style='margin-left: 30px'>
  237 + <%= _('<strong>Before</strong> joining this group (a moderator has to accept the member in pending request before member can access the intranet and/or the website).') %>
  238 + </div>
  239 + </div>
  240 + <div id='community-join-after'>
  241 + <%= radio_button 'community', 'closed', 'false', :style => 'float: left' %>
  242 + <div style='margin-left: 30px'>
  243 + <%= _('<strong>After</strong> joining this group (a moderator can always desactivate access for users later).') %>
  244 + </div>
  245 + </div>
  246 +
  247 + <%= template_options(:communities, 'community')%>
  248 +
  249 + <%= hidden_field_tag('back_to', @back_to) %>
  250 +
  251 + <% button_bar do %>
  252 + <%= submit_button(:save, _('Create')) %>
  253 + <%= button(:cancel, _('Cancel'), @back_to ) %>
  254 + <% end %>
  255 +
  256 + <% end %>
  257 +
  258 +</div>