Commit 9ede168f04418a60cc460635878908e7c5e24dbd
1 parent
fdce3a03
Exists in
master
and in
22 other branches
ActionItem6: information of organization splited in two models: the organization…
… model that inherited from the profile and the organization_info holds the specific data for the organization git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@312 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
14 changed files
with
93 additions
and
29 deletions
Show diff stats
app/controllers/enterprise_controller.rb
| @@ -27,6 +27,7 @@ class EnterpriseController < ApplicationController | @@ -27,6 +27,7 @@ class EnterpriseController < ApplicationController | ||
| 27 | 27 | ||
| 28 | def register | 28 | def register |
| 29 | @enterprise = Enterprise.new(params[:enterprise]) | 29 | @enterprise = Enterprise.new(params[:enterprise]) |
| 30 | + @enterprise.organization_info = OrganizationInfo.new(params[:organization]) | ||
| 30 | if @enterprise.save | 31 | if @enterprise.save |
| 31 | @enterprise.people << current_user.person | 32 | @enterprise.people << current_user.person |
| 32 | flash[:notice] = _('Enterprise was succesfully created') | 33 | flash[:notice] = _('Enterprise was succesfully created') |
| @@ -51,6 +52,12 @@ class EnterpriseController < ApplicationController | @@ -51,6 +52,12 @@ class EnterpriseController < ApplicationController | ||
| 51 | end | 52 | end |
| 52 | end | 53 | end |
| 53 | 54 | ||
| 55 | + def destroy | ||
| 56 | + @enterprise = current_user.person.related_profiles.find(params[:id]) | ||
| 57 | + @enterprise.destroy | ||
| 58 | + redirect_to :action => 'index' | ||
| 59 | + end | ||
| 60 | + | ||
| 54 | protected | 61 | protected |
| 55 | 62 | ||
| 56 | def logon | 63 | def logon |
app/models/enterprise.rb
| 1 | #An enterprise is a kind of profile. According to the system concept, only enterprises can offer products/services | 1 | #An enterprise is a kind of profile. According to the system concept, only enterprises can offer products/services |
| 2 | -class Enterprise < Profile | ||
| 3 | - | ||
| 4 | - validates_numericality_of :foundation_year, :only_integer => true, :allow_nil => true | ||
| 5 | - | 2 | +class Enterprise < Organization |
| 6 | end | 3 | end |
app/views/enterprise/_enterprise.rhtml
| 1 | -<li> <%= link_to enterprise.name, :action => 'show', :id => enterprise %> </li> | 1 | +<li> <%= link_to enterprise.name, :action => 'show', :id => enterprise %> |
| 2 | +<p> <%= link_to _('Edit'), :action => 'edit', :id => enterprise %> </p> | ||
| 3 | +<p> <%= link_to _('Delete'), :action => 'destroy', :id => enterprise %> </p> | ||
| 4 | +</li> |
app/views/enterprise/_form.rhtml
| @@ -8,19 +8,19 @@ | @@ -8,19 +8,19 @@ | ||
| 8 | <%= text_field 'enterprise', 'contact_phone', 'size' => 20 %></p> | 8 | <%= text_field 'enterprise', 'contact_phone', 'size' => 20 %></p> |
| 9 | 9 | ||
| 10 | <p><label for="contact_person"><%= _('Contact Person') %></label><br/> | 10 | <p><label for="contact_person"><%= _('Contact Person') %></label><br/> |
| 11 | -<%= text_field 'enterprise', 'contact_person', 'size' => 20 %></p> | 11 | +<%= text_field 'organization_info', 'contact_person', 'size' => 20 %></p> |
| 12 | 12 | ||
| 13 | <p><label for="acronym"><%= _('Acronym') %></label><br/> | 13 | <p><label for="acronym"><%= _('Acronym') %></label><br/> |
| 14 | -<%= text_field 'enterprise', 'acronym', 'size' => 20 %></p> | 14 | +<%= text_field 'organization_info', 'acronym', 'size' => 20 %></p> |
| 15 | 15 | ||
| 16 | <p><label for="foundation_year"><%= _('Foundation Year') %></label><br/> | 16 | <p><label for="foundation_year"><%= _('Foundation Year') %></label><br/> |
| 17 | -<%= text_field 'enterprise', 'foundation_year', 'size' => 20 %></p> | 17 | +<%= text_field 'organization_info', 'foundation_year', 'size' => 20 %></p> |
| 18 | 18 | ||
| 19 | <p><label for="legal_form"><%= _('Legal Form') %></label><br/> | 19 | <p><label for="legal_form"><%= _('Legal Form') %></label><br/> |
| 20 | -<%= text_field 'enterprise', 'legal_form', 'size' => 20 %></p> | 20 | +<%= text_field 'organization_info', 'legal_form', 'size' => 20 %></p> |
| 21 | 21 | ||
| 22 | <p><label for="economic_activity"><%= _('Economic Activity') %></label><br/> | 22 | <p><label for="economic_activity"><%= _('Economic Activity') %></label><br/> |
| 23 | -<%= text_field 'enterprise', 'economic_activity', 'size' => 20 %></p> | 23 | +<%= text_field 'organization_info', 'economic_activity', 'size' => 20 %></p> |
| 24 | 24 | ||
| 25 | <p><label for="management_information"><%= _('Management Information') %></label><br/> | 25 | <p><label for="management_information"><%= _('Management Information') %></label><br/> |
| 26 | -<%= text_area 'enterprise', 'management_information', 'cols' => 40, 'rows' => 20 %></p> | 26 | +<%= text_area 'organization_info', 'management_information', 'cols' => 40, 'rows' => 20 %></p> |
app/views/enterprise/show.rhtml
| @@ -3,12 +3,13 @@ | @@ -3,12 +3,13 @@ | ||
| 3 | <p> <%= _('Identifier: ') %> <%= @enterprise.identifier %> </p> | 3 | <p> <%= _('Identifier: ') %> <%= @enterprise.identifier %> </p> |
| 4 | <p> <%= _('Address: ') %> <%= @enterprise.address %> </p> | 4 | <p> <%= _('Address: ') %> <%= @enterprise.address %> </p> |
| 5 | <p> <%= _('Contact phone: ') %> <%= @enterprise.contact_phone %> </p> | 5 | <p> <%= _('Contact phone: ') %> <%= @enterprise.contact_phone %> </p> |
| 6 | -<p> <%= _('Contact person: ') %> <%= @enterprise.contact_person %> </p> | ||
| 7 | -<p> <%= _('Acronym: ') %> <%= @enterprise.acronym %> </p> | ||
| 8 | -<p> <%= _('Foundation year: ') %> <%= @enterprise.foundation_year %> </p> | ||
| 9 | -<p> <%= _('Legal Form: ') %> <%= @enterprise.legal_form %> </p> | ||
| 10 | -<p> <%= _('Economic activity: ') %> <%= @enterprise.economic_activity %> </p> | ||
| 11 | -<p> <%= _('Management infomation: ') %> <%= @enterprise.management_information %> </p> | 6 | +<p> <%= _('Contact person: ') %> <%= @enterprise.organization_info.contact_person %> </p> |
| 7 | +<p> <%= _('Acronym: ') %> <%= @enterprise.organization_info.acronym %> </p> | ||
| 8 | +<p> <%= _('Foundation year: ') %> <%= @enterprise.organization_info.foundation_year %> </p> | ||
| 9 | +<p> <%= _('Legal Form: ') %> <%= @enterprise.organization_info.legal_form %> </p> | ||
| 10 | +<p> <%= _('Economic activity: ') %> <%= @enterprise.organization_info.economic_activity %> </p> | ||
| 11 | +<p> <%= _('Management infomation: ') %> <%= @enterprise.organization_info.management_information %> </p> | ||
| 12 | 12 | ||
| 13 | <p> <%= link_to _('Edit enterprise'), :action => 'edit', :id => @enterprise %> </p> | 13 | <p> <%= link_to _('Edit enterprise'), :action => 'edit', :id => @enterprise %> </p> |
| 14 | +<p> <%= link_to _('Delete enterprise'), :action => 'destroy', :id => @enterprise %> </p> | ||
| 14 | <p> <%= link_to _('Register new enterprise'), :action => 'register_form' %> </p> | 15 | <p> <%= link_to _('Register new enterprise'), :action => 'register_form' %> </p> |
db/migrate/003_create_profiles.rb
| @@ -9,20 +9,11 @@ class CreateProfiles < ActiveRecord::Migration | @@ -9,20 +9,11 @@ class CreateProfiles < ActiveRecord::Migration | ||
| 9 | t.column :flexible_template_theme, :string, :default => "default" | 9 | t.column :flexible_template_theme, :string, :default => "default" |
| 10 | t.column :flexible_template_icon_theme, :string, :default => "default" | 10 | t.column :flexible_template_icon_theme, :string, :default => "default" |
| 11 | t.column :active, :boolean, :default => false | 11 | t.column :active, :boolean, :default => false |
| 12 | - | 12 | + t.column :address, :string |
| 13 | + t.column :contact_phone, :string | ||
| 14 | + | ||
| 13 | #person fields | 15 | #person fields |
| 14 | t.column :user_id, :integer | 16 | t.column :user_id, :integer |
| 15 | - | ||
| 16 | - #enterprise fields | ||
| 17 | - t.column :address, :string | ||
| 18 | - t.column :contact_phone, :string | ||
| 19 | - t.column :contact_person, :string | ||
| 20 | - t.column :acronym, :string | ||
| 21 | - t.column :foundation_year, :integer, :limit => 4 | ||
| 22 | - t.column :legal_form, :string | ||
| 23 | - t.column :economic_activity, :string | ||
| 24 | - t.column :management_information, :string | ||
| 25 | - | ||
| 26 | end | 17 | end |
| 27 | end | 18 | end |
| 28 | 19 |
| @@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
| 1 | +class CreateOrganizationInfos < ActiveRecord::Migration | ||
| 2 | + def self.up | ||
| 3 | + create_table :organization_infos do |t| | ||
| 4 | + t.column :organization_id, :integer | ||
| 5 | + t.column :contact_person, :string | ||
| 6 | + t.column :acronym, :string | ||
| 7 | + t.column :foundation_year, :integer, :limit => 4 | ||
| 8 | + t.column :legal_form, :string | ||
| 9 | + t.column :economic_activity, :string | ||
| 10 | + t.column :management_information, :string | ||
| 11 | + end | ||
| 12 | + end | ||
| 13 | + | ||
| 14 | + def self.down | ||
| 15 | + drop_table :organization_infos | ||
| 16 | + end | ||
| 17 | +end |