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 | ... | ... |