Commit bc3bb546b0bf68fccfa954cde661ec1a6ca2e63c
1 parent
26bdc8a5
Exists in
master
and in
79 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,45 +33,16 @@ class MpogSoftwarePlugin < 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 < Noosfero::Plugin | @@ -480,4 +451,8 @@ class MpogSoftwarePlugin < 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 |