Commit bc3bb546b0bf68fccfa954cde661ec1a6ca2e63c

Authored by David Silva
1 parent 26bdc8a5

Create transaction method and use it with diferent models.

Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com>
Showing 1 changed file with 13 additions and 38 deletions   Show diff stats
lib/mpog_software_plugin.rb
@@ -33,45 +33,16 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin @@ -33,45 +33,16 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
33 end 33 end
34 34
35 def profile_editor_transaction_extras 35 def profile_editor_transaction_extras
36 - if context.profile.respond_to?(:software_info)  
37 - if context.params.has_key?(:software_info)  
38 - software_info_transaction 36 + single_hash_transactions = {:user => "user", :software_info => "software_info",
  37 + :version => "license", :language => "language",
  38 + :operating_system => "operating_system",
  39 + :software_categories => "software_categories",
  40 + :instituton => "instituton", :library => "libraries"}
  41 +
  42 + single_hash_transactions.each do |model,transaction|
  43 + call_model_transaction(model,transaction)
39 end 44 end
40 -  
41 - if context.params.has_key?(:library)  
42 - libraries_transaction  
43 - end  
44 -  
45 - if context.params.has_key?(:version)  
46 - license_transaction  
47 - end  
48 -  
49 - if context.params.has_key?(:language)  
50 - language_transaction  
51 - end  
52 -  
53 - if context.params.has_key?(:database)  
54 - databases_transaction  
55 - end  
56 -  
57 - if context.params.has_key?(:operating_system)  
58 - operating_system_transaction  
59 - end  
60 - if context.params.has_key?(:institution) ||  
61 - context.params.has_key?(:governmental_power) ||  
62 - context.params.has_key?(:governmental_sphere)  
63 -  
64 - institution_transaction  
65 - end  
66 -  
67 - if context.params.has_key?(:software_categories)  
68 - software_categories_transaction  
69 - end  
70 - elsif context.profile.respond_to?(:user)  
71 - if context.params.has_key?(:user)  
72 - user_transaction  
73 - end  
74 - end 45 +
75 end 46 end
76 47
77 def profile_editor_controller_filters 48 def profile_editor_controller_filters
@@ -480,4 +451,8 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin @@ -480,4 +451,8 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
480 current_person = User.find(context.session[:user]).person 451 current_person = User.find(context.session[:user]).person
481 context.environment.admins.include?(current_person) 452 context.environment.admins.include?(current_person)
482 end 453 end
  454 +
  455 + def call_model_transaction(model,name)
  456 + send(name + '_transaction') if context.params.has_key?(model.to_sym)
  457 + end
483 end 458 end