Commit c9cdb24a515adc52982e5aa178ef66011e603fae

Authored by Fabio Teixeira
1 parent 6a3d8d37

reformulacao_software: Enable Programming languages and Databases do removed

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Signed-off-by: Luiz Matos <luizff.matos@gmail.com>
lib/database_helper.rb
@@ -27,7 +27,7 @@ module DatabaseHelper @@ -27,7 +27,7 @@ module DatabaseHelper
27 true 27 true
28 end 28 end
29 29
30 - def self.database_as_tables(list_databases, have_delete_button = nil) 30 + def self.database_as_tables(list_databases)
31 extend( 31 extend(
32 ActionView::Helpers::TagHelper, 32 ActionView::Helpers::TagHelper,
33 ActionView::Helpers::FormTagHelper, 33 ActionView::Helpers::FormTagHelper,
@@ -36,18 +36,18 @@ module DatabaseHelper @@ -36,18 +36,18 @@ module DatabaseHelper
36 ApplicationHelper 36 ApplicationHelper
37 ) 37 )
38 38
39 - return database_html_structure({:database_description_id => 1, :version => "", :operating_system => ""}, have_delete_button) if list_databases.nil? 39 + return database_html_structure({:database_description_id => 1, :version => "", :operating_system => ""}) if list_databases.nil?
40 40
41 lambdas_list = [] 41 lambdas_list = []
42 - 42 +
43 list_databases.each do |database| 43 list_databases.each do |database|
44 - lambdas_list << database_html_structure(database, have_delete_button) 44 + lambdas_list << database_html_structure(database)
45 end 45 end
46 46
47 lambdas_list 47 lambdas_list
48 end 48 end
49 49
50 - def self.database_html_structure(database_data, have_delete_button = nil) 50 + def self.database_html_structure(database_data)
51 Proc::new do 51 Proc::new do
52 content_tag('table', 52 content_tag('table',
53 content_tag('tr', 53 content_tag('tr',
@@ -65,15 +65,7 @@ module DatabaseHelper @@ -65,15 +65,7 @@ module DatabaseHelper
65 content_tag('tr', 65 content_tag('tr',
66 content_tag('td', label_tag(_("Operating System")))+ 66 content_tag('td', label_tag(_("Operating System")))+
67 content_tag('td', text_field_tag("database[][operating_system]", database_data[:operating_system]))+ 67 content_tag('td', text_field_tag("database[][operating_system]", database_data[:operating_system]))+
68 -  
69 - if have_delete_button.nil?  
70 - content_tag('td',  
71 - button_without_text(:delete, _('Delete'), "#" , :class=>"delete-dynamic-table"),  
72 - :align => 'right'  
73 - )  
74 - else  
75 - content_tag('td')  
76 - end 68 + content_tag('td', button_without_text(:delete, _('Delete'), "#" , :class=>"delete-dynamic-table"), :align => 'right')
77 ), :class => 'dynamic-table database-table' 69 ), :class => 'dynamic-table database-table'
78 ) 70 )
79 end 71 end
lib/software_language_helper.rb
@@ -27,7 +27,7 @@ module SoftwareLanguageHelper @@ -27,7 +27,7 @@ module SoftwareLanguageHelper
27 true 27 true
28 end 28 end
29 29
30 - def self.language_as_tables(list_languages, have_delete_button = true, show_information = false) 30 + def self.language_as_tables(list_languages, show_information = false)
31 extend( 31 extend(
32 ActionView::Helpers::TagHelper, 32 ActionView::Helpers::TagHelper,
33 ActionView::Helpers::FormTagHelper, 33 ActionView::Helpers::FormTagHelper,
@@ -39,10 +39,10 @@ module SoftwareLanguageHelper @@ -39,10 +39,10 @@ module SoftwareLanguageHelper
39 lambdas_list = [] 39 lambdas_list = []
40 40
41 if not show_information 41 if not show_information
42 - return language_html_structure({:programming_language_id => 1, :version => "", :operating_system => ""}, have_delete_button) if list_languages.nil? 42 + return language_html_structure({:programming_language_id => 1, :version => "", :operating_system => ""}) if list_languages.nil?
43 43
44 list_languages.each do |language| 44 list_languages.each do |language|
45 - lambdas_list << language_html_structure(language, have_delete_button) 45 + lambdas_list << language_html_structure(language)
46 end 46 end
47 47
48 else 48 else
@@ -56,7 +56,7 @@ module SoftwareLanguageHelper @@ -56,7 +56,7 @@ module SoftwareLanguageHelper
56 lambdas_list 56 lambdas_list
57 end 57 end
58 58
59 - def self.language_html_structure(language_data, have_delete_button = true) 59 + def self.language_html_structure(language_data)
60 Proc::new do 60 Proc::new do
61 content_tag('table', 61 content_tag('table',
62 content_tag('tr', 62 content_tag('tr',
@@ -74,15 +74,7 @@ module SoftwareLanguageHelper @@ -74,15 +74,7 @@ module SoftwareLanguageHelper
74 content_tag('tr', 74 content_tag('tr',
75 content_tag('td', label_tag(_("Operating System")))+ 75 content_tag('td', label_tag(_("Operating System")))+
76 content_tag('td', text_field_tag("language[][operating_system]", language_data[:operating_system]))+ 76 content_tag('td', text_field_tag("language[][operating_system]", language_data[:operating_system]))+
77 -  
78 - if have_delete_button  
79 - content_tag('td',  
80 - button_without_text(:delete, _('Delete'), "#" , :class=>"delete-dynamic-table"),  
81 - :align => 'right'  
82 - )  
83 - else  
84 - content_tag('td', "")  
85 - end 77 + content_tag('td', button_without_text(:delete, _('Delete'), "#" , :class=>"delete-dynamic-table"), :align => 'right')
86 ), :class => 'dynamic-table software-language-table' 78 ), :class => 'dynamic-table software-language-table'
87 ) 79 )
88 end 80 end
public/mpog-software-validations.js
1 -function delete_dynamic_table() {  
2 - var button = jQuery(".delete-dynamic-table"); 1 +(function(){
  2 + function delete_dynamic_table() {
  3 + var button = jQuery(".delete-dynamic-table");
3 4
4 - button.each(function(){  
5 - var table = jQuery(this).parent().parent().parent().parent();  
6 - var color = table.css("background-color"); 5 + button.each(function(){
  6 + var table = jQuery(this).parent().parent().parent().parent();
  7 + var color = table.css("background-color");
7 8
8 - jQuery(this).click(function(){  
9 - if( table.hasClass("software-language-table") && has_more_than_one("software-language-table"))  
10 - table.remove();  
11 -  
12 - if( table.hasClass("database-table") && has_more_than_one("database-table")) 9 + jQuery(this).click(function(){
13 table.remove(); 10 table.remove();
  11 + return false;
  12 + }).mouseover(function(){
  13 + table.css("background-color", "#eee");
  14 + }).mouseout(function(){
  15 + table.css("background-color", color);
  16 + });
  17 + });
  18 + }
14 19
15 - if( !table.hasClass("software-language-table") && !table.hasClass("database-table") )  
16 - table.remove(); 20 + function has_more_than_one(table_class) {
  21 + return (jQuery("."+table_class).length > 2); // One is always added by defaul and its hidden
  22 + }
17 23
18 - return false;  
19 - }).mouseover(function(){  
20 - table.css("background-color", "#eee");  
21 - }).mouseout(function(){  
22 - table.css("background-color", color);  
23 - });  
24 - });  
25 -}  
26 -  
27 -function has_more_than_one(table_class) {  
28 - return (jQuery("."+table_class).length > 2); // One is always added by defaul and its hidden  
29 -}  
30 -  
31 -function add_dynamic_table(element_id, content) {  
32 - Element.insert(element_id, {bottom: content});  
33 -}  
34 -  
35 -function get_license_link(select_id){  
36 - var selected = jQuery('#'+select_id).selected().val();  
37 - var link = jQuery("#version_" + selected).val();  
38 -  
39 - jQuery("#version_link")  
40 - .attr("href", link)  
41 - .text(link);  
42 -}  
43 -  
44 -function hide_infos(){  
45 - jQuery(".language-info").hide();  
46 - jQuery(".database-info").hide();  
47 - jQuery(".libraries-info").hide();  
48 - jQuery(".operating-system-info").hide();  
49 - jQuery(".language-button-hide").hide();  
50 - jQuery(".database-button-hide").hide();  
51 - jQuery(".libraries-button-hide").hide();  
52 - jQuery(".operating-system-button-hide").hide();  
53 -}  
54 -  
55 -jQuery(document).ready(function(){  
56 - var dynamic_tables = ["dynamic-databases", "dynamic-languages", "dynamic-libraries","dynamic-operating_systems"];  
57 -  
58 - delete_dynamic_table();  
59 -  
60 - jQuery(".new-dynamic-table").click(function(){  
61 - var link = jQuery(this);  
62 -  
63 - dynamic_tables.each(function(value){  
64 - if( link.hasClass(value) ) {  
65 - var table_id = value.split("-")[1];  
66 -  
67 - var table_html = jQuery("#table_structure_"+table_id).html();  
68 - add_dynamic_table(table_id, table_html);  
69 - }  
70 - }); 24 + function add_dynamic_table(element_id, content) {
  25 + Element.insert(element_id, {bottom: content});
  26 + }
71 27
72 - delete_dynamic_table();  
73 - return false;  
74 - }); 28 + function get_license_link(select_id){
  29 + var selected = jQuery('#'+select_id).selected().val();
  30 + var link = jQuery("#version_" + selected).val();
75 31
76 - hide_infos(); 32 + jQuery("#version_link")
  33 + .attr("href", link)
  34 + .text(link);
  35 + }
77 36
78 - jQuery(".language-button-hide").click(function(event){  
79 - event.preventDefault(); 37 + function hide_infos(){
80 jQuery(".language-info").hide(); 38 jQuery(".language-info").hide();
81 - jQuery(".language-button-show").show(); 39 + jQuery(".database-info").hide();
  40 + jQuery(".libraries-info").hide();
  41 + jQuery(".operating-system-info").hide();
82 jQuery(".language-button-hide").hide(); 42 jQuery(".language-button-hide").hide();
83 - }); 43 + jQuery(".database-button-hide").hide();
  44 + jQuery(".libraries-button-hide").hide();
  45 + jQuery(".operating-system-button-hide").hide();
  46 + }
84 47
85 - jQuery(".language-button-show").click(function(event){  
86 - event.preventDefault();  
87 - jQuery(".language-info").show();  
88 - jQuery(".language-button-show").hide();  
89 - jQuery(".language-button-hide").show();  
90 - }); 48 + jQuery(document).ready(function(){
  49 + var dynamic_tables = ["dynamic-databases", "dynamic-languages", "dynamic-libraries","dynamic-operating_systems"];
91 50
92 - jQuery(".operating-system-button-hide").click(function(event){  
93 - event.preventDefault();  
94 - jQuery(".operating-system-info").hide();  
95 - jQuery(".operating-system-button-show").show();  
96 - jQuery(".operating-system-button-hide").hide();  
97 - }); 51 + delete_dynamic_table();
98 52
99 - jQuery(".operating-system-button-show").click(function(event){  
100 - event.preventDefault();  
101 - jQuery(".operating-system-info").show();  
102 - jQuery(".operating-system-button-show").hide();  
103 - jQuery(".operating-system-button-hide").show();  
104 - }); 53 + jQuery(".new-dynamic-table").click(function(){
  54 + var link = jQuery(this);
105 55
106 - jQuery(".database-button-hide").click(function(event){  
107 - event.preventDefault();  
108 - jQuery(".database-info").hide();  
109 - jQuery(".database-button-show").show();  
110 - jQuery(".database-button-hide").hide();  
111 - }); 56 + dynamic_tables.each(function(value){
  57 + if( link.hasClass(value) ) {
  58 + var table_id = value.split("-")[1];
112 59
113 - jQuery(".database-button-show").click(function(event){  
114 - event.preventDefault();  
115 - jQuery(".database-info").show();  
116 - jQuery(".database-button-show").hide();  
117 - jQuery(".database-button-hide").show();  
118 - }); 60 + var table_html = jQuery("#table_structure_"+table_id).html();
  61 + add_dynamic_table(table_id, table_html);
  62 + }
  63 + });
119 64
120 - jQuery(".libraries-button-hide").click(function(event){  
121 - event.preventDefault();  
122 - jQuery(".libraries-info").hide();  
123 - jQuery(".libraries-button-show").show();  
124 - jQuery(".libraries-button-hide").hide();  
125 - }); 65 + delete_dynamic_table();
  66 + return false;
  67 + });
  68 +
  69 + jQuery(".language-button-hide").click(function(event){
  70 + event.preventDefault();
  71 + jQuery(".language-info").hide();
  72 + jQuery(".language-button-show").show();
  73 + jQuery(".language-button-hide").hide();
  74 + });
  75 +
  76 + jQuery(".language-button-show").click(function(event){
  77 + event.preventDefault();
  78 + jQuery(".language-info").show();
  79 + jQuery(".language-button-show").hide();
  80 + jQuery(".language-button-hide").show();
  81 + });
126 82
127 - jQuery(".libraries-button-show").click(function(event){  
128 - event.preventDefault();  
129 - jQuery(".libraries-info").show();  
130 - jQuery(".libraries-button-show").hide();  
131 - jQuery(".libraries-button-hide").show(); 83 + jQuery(".operating-system-button-hide").click(function(event){
  84 + event.preventDefault();
  85 + jQuery(".operating-system-info").hide();
  86 + jQuery(".operating-system-button-show").show();
  87 + jQuery(".operating-system-button-hide").hide();
  88 + });
  89 +
  90 + jQuery(".operating-system-button-show").click(function(event){
  91 + event.preventDefault();
  92 + jQuery(".operating-system-info").show();
  93 + jQuery(".operating-system-button-show").hide();
  94 + jQuery(".operating-system-button-hide").show();
  95 + });
  96 +
  97 + jQuery(".database-button-hide").click(function(event){
  98 + event.preventDefault();
  99 + jQuery(".database-info").hide();
  100 + jQuery(".database-button-show").show();
  101 + jQuery(".database-button-hide").hide();
  102 + });
  103 +
  104 + jQuery(".database-button-show").click(function(event){
  105 + event.preventDefault();
  106 + jQuery(".database-info").show();
  107 + jQuery(".database-button-show").hide();
  108 + jQuery(".database-button-hide").show();
  109 + });
  110 +
  111 + jQuery(".libraries-button-hide").click(function(event){
  112 + event.preventDefault();
  113 + jQuery(".libraries-info").hide();
  114 + jQuery(".libraries-button-show").show();
  115 + jQuery(".libraries-button-hide").hide();
  116 + });
  117 +
  118 + jQuery(".libraries-button-show").click(function(event){
  119 + event.preventDefault();
  120 + jQuery(".libraries-info").show();
  121 + jQuery(".libraries-button-show").hide();
  122 + jQuery(".libraries-button-hide").show();
  123 + });
132 }); 124 });
133 -}); 125 +})();
public/mpog-software.js
1 -jQuery(document).ready(function(){  
2 - if(jQuery(".control-panel").size() > 0 && jQuery(".control-panel-edit-profile-group:contains('Software')").size() > 0 ) {  
3 - jQuery(".control-panel")[0].innerHTML = jQuery(".control-panel-edit-profile-group:contains('Software')")[0].outerHTML + jQuery(".control-panel")[0].innerHTML  
4 - jQuery(".control-panel-edit-profile-group:contains('Software')")[1].remove() 1 +(function(){
  2 + function hide_infos(){
  3 + jQuery(".language-info").hide();
  4 + jQuery(".database-info").hide();
  5 + jQuery(".libraries-info").hide();
  6 + jQuery(".operating-system-info").hide();
  7 + jQuery(".language-button-hide").hide();
  8 + jQuery(".database-button-hide").hide();
  9 + jQuery(".libraries-button-hide").hide();
  10 + jQuery(".operating-system-button-hide").hide();
5 } 11 }
6 -});  
7 \ No newline at end of file 12 \ No newline at end of file
  13 +
  14 + function add_software_on_control_panel() {
  15 + if(jQuery(".control-panel").size() > 0 && jQuery(".control-panel-edit-profile-group:contains('Software')").size() > 0 ) {
  16 + jQuery(".control-panel")[0].innerHTML = jQuery(".control-panel-edit-profile-group:contains('Software')")[0].outerHTML + jQuery(".control-panel")[0].innerHTML
  17 + jQuery(".control-panel-edit-profile-group:contains('Software')")[1].remove();
  18 + }
  19 + }
  20 +
  21 + jQuery(document).ready(function(){
  22 + add_software_on_control_panel();
  23 + hide_infos();
  24 + });
  25 +})();
8 \ No newline at end of file 26 \ No newline at end of file