Commit bc3bb546b0bf68fccfa954cde661ec1a6ca2e63c
1 parent
26bdc8a5
Exists in
master
and in
5 other branches
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 < Noosfero::Plugin |
33 | 33 | end |
34 | 34 | |
35 | 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 | 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 | 46 | end |
76 | 47 | |
77 | 48 | def profile_editor_controller_filters |
... | ... | @@ -480,4 +451,8 @@ class MpogSoftwarePlugin < Noosfero::Plugin |
480 | 451 | current_person = User.find(context.session[:user]).person |
481 | 452 | context.environment.admins.include?(current_person) |
482 | 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 | 458 | end | ... | ... |