forgeos_core 1.9.1 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. data/COPYING +339 -0
  2. data/COPYING.LESSER +165 -0
  3. data/app/assets/images/forgeos/dataTables/Sorting icons.psd +0 -0
  4. data/app/assets/images/forgeos/dataTables/back_disabled.jpg +0 -0
  5. data/app/assets/images/forgeos/dataTables/back_enabled.jpg +0 -0
  6. data/app/assets/images/forgeos/dataTables/favicon.ico +0 -0
  7. data/app/assets/images/forgeos/dataTables/forward_disabled.jpg +0 -0
  8. data/app/assets/images/forgeos/dataTables/forward_enabled.jpg +0 -0
  9. data/app/assets/images/forgeos/dataTables/sort_asc.png +0 -0
  10. data/app/assets/images/forgeos/dataTables/sort_asc_disabled.png +0 -0
  11. data/app/assets/images/forgeos/dataTables/sort_both.png +0 -0
  12. data/app/assets/images/forgeos/dataTables/sort_desc.png +0 -0
  13. data/app/assets/images/forgeos/dataTables/sort_desc_disabled.png +0 -0
  14. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/bubble-quantity-products.png +0 -0
  15. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/check-checked.png +0 -0
  16. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/check-unchecked.png +0 -0
  17. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/context.gif +0 -0
  18. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/create.png +0 -0
  19. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/dark-blue-minus.png +0 -0
  20. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/dark-blue-plus.png +0 -0
  21. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/dot.gif +0 -0
  22. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/f.png +0 -0
  23. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fminus.gif +0 -0
  24. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fminus_rtl.gif +0 -0
  25. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/folder.png +0 -0
  26. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fplus.gif +0 -0
  27. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fplus_rtl.gif +0 -0
  28. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/lastli.gif +0 -0
  29. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/lastli_rtl.gif +0 -0
  30. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/li.gif +0 -0
  31. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/remove.png +0 -0
  32. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/rename.png +0 -0
  33. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/throbber.gif +0 -0
  34. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/brown-minus.png +0 -0
  35. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/brown-plus.png +0 -0
  36. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/bubble-quantity-elements.png +0 -0
  37. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/context.gif +0 -0
  38. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/create.png +0 -0
  39. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/dot.gif +0 -0
  40. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/f.png +0 -0
  41. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fminus.gif +0 -0
  42. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fminus_rtl.gif +0 -0
  43. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fplus.gif +0 -0
  44. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fplus_rtl.gif +0 -0
  45. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/images.png +0 -0
  46. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/lastli.gif +0 -0
  47. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/lastli_rtl.gif +0 -0
  48. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/li.gif +0 -0
  49. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/remove.png +0 -0
  50. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/rename.png +0 -0
  51. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/throbber.gif +0 -0
  52. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/marker.gif +0 -0
  53. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/marker_rtl.gif +0 -0
  54. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/plus.gif +0 -0
  55. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/remove.gif +0 -0
  56. data/app/assets/{stylesheets → images}/forgeos/jstree/themes/remove.png +0 -0
  57. data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/commons.js +8 -3
  58. data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/dataTable.js +2 -2
  59. data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/tinyMCE.js +1 -1
  60. data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/trees.js +202 -257
  61. data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/left-sidebar.js +16 -23
  62. data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/settings.js +5 -5
  63. data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/tabs.js +3 -3
  64. data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/trees.js +2 -45
  65. data/app/assets/javascripts/forgeos/jquery.dataTables.min.js +138 -529
  66. data/app/assets/javascripts/forgeos/jstree/jquery.jstree.js +4544 -0
  67. data/app/assets/stylesheets/forgeos/admin/forgeos_core/_lightbox.css.sass +2 -21
  68. data/app/assets/stylesheets/forgeos/admin/forgeos_core/_settings.css.sass +77 -39
  69. data/app/assets/stylesheets/forgeos/dataTables/demo_table.css +150 -27
  70. data/app/assets/stylesheets/forgeos/jstree/themes/association_categories/style.css.sass +36 -154
  71. data/app/assets/stylesheets/forgeos/jstree/themes/categories/style.css.sass +59 -58
  72. data/app/controllers/admin/accounts_controller.rb +1 -1
  73. data/app/controllers/admin/administrators_controller.rb +13 -4
  74. data/app/controllers/admin/attachments_controller.rb +7 -3
  75. data/app/controllers/admin/base_controller.rbc +1305 -0
  76. data/app/controllers/admin/categories_controller.rb +1 -1
  77. data/app/controllers/admin/dashboard_controller.rbc +361 -0
  78. data/app/controllers/admin/person_sessions_controller.rbc +1248 -0
  79. data/app/controllers/admin/rights_controller.rb +6 -6
  80. data/app/controllers/admin/roles_controller.rb +8 -3
  81. data/app/controllers/admin/users_controller.rb +12 -6
  82. data/app/controllers/forgeos/application_controller.rb +1 -2
  83. data/app/controllers/forgeos/application_controller.rbc +2027 -0
  84. data/app/helpers/admin/attachment_helper.rbc +2340 -0
  85. data/app/helpers/admin/base_helper.rb +0 -15
  86. data/app/helpers/admin/base_helper.rbc +2522 -0
  87. data/app/helpers/forgeos/application_helper.rbc +3152 -0
  88. data/app/models/administrator.rbc +415 -0
  89. data/app/models/category.rb +3 -3
  90. data/app/models/person.rb +5 -9
  91. data/app/models/person.rbc +1498 -0
  92. data/app/models/person_session.rbc +142 -0
  93. data/app/models/right.rbc +432 -0
  94. data/app/models/role.rbc +469 -0
  95. data/app/models/setting.rbc +699 -0
  96. data/app/views/admin/accounts/_form.html.haml +1 -1
  97. data/app/views/admin/administrators/activate.js.erb +1 -0
  98. data/app/views/admin/administrators/destroy.js.erb +1 -0
  99. data/app/views/admin/administrators/index.json.erb +10 -12
  100. data/app/views/admin/attachments/_form.html.haml +2 -2
  101. data/app/views/admin/attachments/destroy.js.erb +1 -0
  102. data/app/views/admin/attachments/index.json.erb +4 -5
  103. data/app/views/admin/categories/_associated_elements.html.haml +4 -8
  104. data/app/views/admin/categories/index.json.erb +1 -1
  105. data/app/views/admin/rights/destroy.js.erb +1 -0
  106. data/app/views/admin/rights/index.json.erb +5 -6
  107. data/app/views/admin/roles/activate.js.erb +1 -0
  108. data/app/views/admin/roles/destroy.js.erb +1 -0
  109. data/app/views/admin/roles/index.json.erb +10 -12
  110. data/app/views/admin/settings/_tabs.html.haml +0 -6
  111. data/app/views/admin/settings/edit.html.haml +19 -16
  112. data/app/views/admin/sidebars/_attachments_popups.html.haml +1 -1
  113. data/app/views/admin/sidebars/_left_sidebar.html.haml +2 -2
  114. data/app/views/admin/users/activate.js.erb +1 -0
  115. data/app/views/admin/users/destroy.js.erb +1 -0
  116. data/app/views/admin/users/index.json.erb +8 -11
  117. data/app/views/admin/visual/_visual_popup.html.haml +2 -2
  118. data/app/views/admin/visual/_visuals_popup.html.haml +1 -1
  119. data/app/views/layouts/admin.html.haml +5 -4
  120. data/app/views/layouts/admin_login.html.haml +3 -3
  121. data/config/initializers/load_settings.rbc +330 -0
  122. data/config/routes.rb +5 -8
  123. data/config/routes.rbc +2203 -0
  124. data/lib/extensions/form_helper_extensions.rb +2 -2
  125. data/lib/extensions/form_helper_extensions.rbc +295 -0
  126. data/lib/extensions/i18n_fallbacks_config.rbc +246 -0
  127. data/lib/extensions.rbc +126 -0
  128. data/lib/forgeos/core/engine.rbc +316 -0
  129. data/lib/forgeos/core.rbc +325 -0
  130. data/lib/forgeos.rbc +1942 -0
  131. data/lib/forgeos_core.rbc +53 -0
  132. data/lib/map_fields.rbc +4437 -0
  133. data/lib/sortable_attachments.rbc +1399 -0
  134. data/lib/sphinx_globalize.rbc +785 -0
  135. metadata +286 -53
  136. data/app/assets/javascripts/forgeos/jstree/jquery.tree.js +0 -2061
  137. data/app/assets/javascripts/forgeos/jstree/plugins/jquery.tree.contextmenu.js +0 -129
  138. data/app/assets/javascripts/forgeos/jstree/plugins/jquery.tree.cookie.js +0 -70
  139. data/app/assets/stylesheets/forgeos/jquery.selectbox.css +0 -75
  140. data/app/assets/stylesheets/forgeos/jstree/themes/categories/style.css +0 -106
  141. data/app/assets/stylesheets/forgeos/jstree/tree_component.css.sass +0 -204
@@ -12,9 +12,14 @@ function showObjectsAssociated(){
12
12
  });
13
13
  }
14
14
 
15
- function get_rails_element_id(element){
16
- var id = jQuery(element).attr('id').split('_');
17
- return id[id.length-1];
15
+ function get_rails_element_id(element) {
16
+ var id = jQuery(element).attr('id');
17
+ if (typeof(id) != 'undefined') {
18
+ id = id.split('_');
19
+ return id[id.length-1];
20
+ } else {
21
+ return '';
22
+ }
18
23
  }
19
24
 
20
25
  function get_rails_element_ids(list){
@@ -163,7 +163,7 @@ function removedataTablesRow(selector){
163
163
  function DataTablesDrawCallBack(table) {
164
164
  InitCustomSelects();
165
165
  showObjectsAssociated();
166
- hide_paginate(table);
166
+ //hide_paginate(table);
167
167
  moveDataTablesSearchField();
168
168
  }
169
169
 
@@ -232,6 +232,7 @@ function update_current_dataTable_source(selector,source){
232
232
  }
233
233
 
234
234
  function hide_paginate(dataTables){
235
+ console.info(dataTables);
235
236
  var pagination = jQuery(dataTables.nPaginateList).parents(':first');
236
237
  var pages_number = dataTables.nPaginateList.children.length;
237
238
  (pages_number>1) ? pagination.show() : pagination.hide();
@@ -248,7 +249,6 @@ function dataTableSelectRows(selector,callback){
248
249
  current_table.fnSettings().sAjaxSource = source + '&ids=' + ids.join(',');
249
250
 
250
251
  current_table.fnSettings().fnDrawCallback = function(){
251
- var current_table = jQuery(this).dataTableInstance();
252
252
  var indexes = current_table.fnGetSelectedIndexes();
253
253
 
254
254
  callback(current_table,indexes);
@@ -16,7 +16,7 @@ function tmceInit(selector){
16
16
  mode : 'textareas',
17
17
  plugins : "table,fullscreen,paste,media,preview,advimage,curblyadvimage,advlink,contextmenu",
18
18
  theme : 'advanced',
19
- content_css : "/stylesheets/tinyMCE/styles.css",
19
+ content_css : "/assets/forgeos/tinyMCE/styles.css",
20
20
  convert_urls: 0,
21
21
  onchange_callback: function(inst){ jQuery(inst.getElement()).trigger('change'); },
22
22
  theme_advanced_buttons1 : "undo,redo,|,pasteword,|,anchor,image,media,|,code,preview,|,removeformat,cleanup",
@@ -1,4 +1,4 @@
1
- function duplicate_category(node, type, parent_id){
1
+ function duplicate_category(node, type, parent_id, base_url){
2
2
  var name = extract_category_name(node)
3
3
  var children = jQuery(node).children('ul').children('li');
4
4
  var parent_node = jQuery(node).parent().parent('li');
@@ -8,12 +8,12 @@ function duplicate_category(node, type, parent_id){
8
8
  parent_id = get_rails_element_id(parent_node);
9
9
 
10
10
  jQuery.ajax({
11
- "url": '/admin/categories/create',
11
+ "url": base_url,
12
12
  // update node id and duplicate node children
13
13
  "complete": function(request){
14
14
  var cat_id = request.responseText;
15
15
  jQuery(node).attr('id', 'cageory_' + cat_id);
16
- children.each(function(){ duplicate_category(jQuery(this), type, cat_id); });
16
+ children.each(function(){ duplicate_category(jQuery(this), type, cat_id, base_url); });
17
17
 
18
18
  jQuery(node).children('a').attr('id', 'link_category_' + cat_id);
19
19
  jQuery(node).children('a').children('span').attr('id', 'span_category_' + cat_id);
@@ -36,237 +36,225 @@ function get_category_data(name, type, parent_id) {
36
36
 
37
37
  // initialise tree theme and callbacks
38
38
  function init_category_tree(selector, type, source) {
39
- jQuery(selector).tree({
40
- data:{
41
- type: 'json',
42
- opts: {
43
- url: source
39
+ if (jQuery(selector).size() != 0) {
40
+ var base_url = source.replace('.json','/');
41
+
42
+ jQuery(selector).bind('loaded.jstree',function(e, data){
43
+ jQuery(e.target).find('a').each(function(index,selector){
44
+ var category_id = get_rails_element_id(jQuery(selector).parent('li'));
45
+ jQuery(selector).droppable({
46
+ hoverClass: 'ui-state-hover',
47
+ drop:function(ev, ui){
48
+ jQuery.ajax({
49
+ "data": {element_id:get_rails_element_id(jQuery(ui.draggable)), authenticity_token: encodeURIComponent(window._forgeos_js_vars.token)},
50
+ "success": function(request){jQuery(ev.target).find('span').html(request);},
51
+ "type":'post',
52
+ "url": base_url + category_id + '/add_element'
53
+ });
54
+ }
55
+ });
56
+ });
57
+ }).bind('create_node.jstree', function(e, data){
58
+ var jnode = jQuery(data.rslt.obj);
59
+ var parent_node = jnode.parent().parent('li');
60
+ var parent_id;
61
+ // get parent_id if parent node exists
62
+ if (parent_node[0] != undefined)
63
+ parent_id = get_rails_element_id(parent_node);
64
+
65
+ jQuery.ajax({
66
+ "url": base_url,
67
+ "complete": function(request){
68
+ var cat_id = request.responseText;
69
+ jnode.attr('id', 'category_' + cat_id);
70
+ jnode.children('a').attr('id', 'link_category_' + cat_id);
71
+ set_category_droppable(cat_id, type);
72
+
73
+ if( jQuery(".parent_id_hidden").size() == 0){
74
+ jQuery(document.body).append('<input type="hidden" id="parent_id_tmp" name="parent_id_tmp" class="parent_id_hidden" value="'+cat_id+'" />');
75
+ } else {
76
+ jQuery('#parent_id_tmp').val(cat_id);
77
+ }
78
+
79
+ },
80
+ "data": get_category_data('New folder', type, parent_id),
81
+ "dataType": 'text',
82
+ "type": 'post'
83
+ });
84
+ }).bind('rename_node.jstree', function(e, data){
85
+ var NODE = data.rslt.obj;
86
+ var cat_id = get_rails_element_id(NODE);
87
+ jQuery.ajax({
88
+ "url": base_url + cat_id,
89
+ "data": {authenticity_token: window._forgeos_js_vars.token, format: 'json', 'category[name]': jQuery(NODE).children('a').text()},
90
+ "dataType":'text',
91
+ "type":'put'
92
+ });
93
+ }).bind('move_node.jstree', function(e, data){
94
+ var NODE = data.rslt.obj;
95
+ var cat_id = get_rails_element_id(NODE);
96
+ var parent_id = '';
97
+ var jnode = jQuery(NODE);
98
+ var parent_ul = jnode.parents('ul:first');
99
+ var position = jQuery(parent_ul).children('li').index(jnode);
100
+ var tree_id = jQuery(e.target).attr('id');
101
+
102
+ position = position+1;
103
+ if (jnode.parent().parent('li').length > 0){
104
+ parent_id = get_rails_element_id(jnode.parent().parent('li'));
44
105
  }
45
- },
46
- plugins: {
47
- 'contextmenu': {
48
- items : {
49
- create : {
50
- label : "Créer",
51
- icon : "create",
52
- visible : function (NODE, TREE_OBJ) {
53
- if(NODE.length != 1) return 0;
54
- return TREE_OBJ.check("creatable", NODE);
55
- },
56
- action : function (NODE, TREE_OBJ) {
57
- TREE_OBJ.create(false, TREE_OBJ.get_node(NODE[0]));
106
+ jQuery.ajax({
107
+ "url": base_url + cat_id,
108
+ "data": { authenticity_token: window._forgeos_js_vars.token, format: 'json', 'categories_hash': get_current_categories( tree_id ) },
109
+ "dataType": 'text',
110
+ "type": 'put'
111
+ });
112
+ }).bind('delete_node.jstree', function(e, data){
113
+ var NODE = data.rslt.obj;
114
+ var cat_id = get_rails_element_id(NODE);
115
+ jQuery.ajax({
116
+ "url": base_url + cat_id,
117
+ "success": function(request){
118
+ jQuery(NODE).attr('id', 'category_' + request.responseText);
119
+ },
120
+ "data": {authenticity_token: window._forgeos_js_vars.token, format: 'json'},
121
+ "dataType":'text',
122
+ "type":'delete'
123
+ });
124
+ }).bind('copy.jstree', function(e, data) {
125
+ duplicate_category(data.rslt.obj, type, undefined, base_url);
126
+ }).bind('select_node.jstree', function(e, data) {
127
+ var NODE = data.rslt.obj;
128
+ jQuery(".parent_id_hidden").remove();
129
+ var cat_id = get_rails_element_id(NODE);
130
+ var current_table = jQuery('#table').dataTableInstance();
131
+ var url = current_table.fnSettings().sAjaxSource;
132
+ var url_base = url.split('?')[0];
133
+
134
+ jQuery('#category_sort').show();
135
+ // update category id
136
+ var params = get_json_params_from_url(url);
137
+ params.category_id = cat_id;
138
+ params = stringify_params_from_json(params);
139
+
140
+ // construct url and redraw table
141
+ update_current_dataTable_source('#table',url_base + '?' + params);
142
+
143
+ //object_name = jQuery(NODE).attr('id').split('_')[0];
144
+ category_id = get_rails_element_id(NODE);
145
+ if(jQuery(".parent_id_hidden").size() == 0){
146
+ jQuery(document.body).append('<input type="hidden" id="parent_id_tmp" name="parent_id_tmp" class="parent_id_hidden" value="'+category_id+'" />');
147
+ } else {
148
+ jQuery('#parent_id_tmp').val(category_id);
149
+ }
150
+ return true;
151
+ }).bind('deselect_node.jstree', function(e, data) {
152
+ jQuery('#category_sort').hide();
153
+ return true;
154
+ }).jstree({
155
+ "json_data":{
156
+ "ajax": {
157
+ "url": source
158
+ },
159
+ "progressive_render": true
160
+ },
161
+ "contextmenu": {
162
+ "items": {
163
+ "create": {
164
+ "label": "Créer",
165
+ "icon": "create",
166
+ "action": function(obj) {
167
+ this.create(this._get_node(obj), 0, {}, null, false);
58
168
  },
59
169
  separator_after : false
60
170
  },
61
- rename : {
62
- label : "Renommer",
63
- icon : "rename",
64
- visible : function (NODE, TREE_OBJ) {
65
- if(NODE.length != 1) return false;
66
- return TREE_OBJ.check("renameable", NODE);
67
- },
68
- action : function (NODE, TREE_OBJ) {
69
- TREE_OBJ.rename(NODE);
171
+ "rename": {
172
+ "label": "Renommer",
173
+ "icon": "rename",
174
+ "action": function(obj) {
175
+ this.rename(obj);
70
176
  }
71
177
  },
72
- remove : {
73
- label : "Supprimer",
74
- icon : "remove",
75
- visible : function (NODE, TREE_OBJ) {
76
- var ok = true;
77
- jQuery.each(NODE, function () {
78
- if(TREE_OBJ.check("deletable", this) == false) {
79
- ok = false;
80
- return false;
81
- }
82
- });
83
- return ok;
84
- },
85
- action : function (NODE, TREE_OBJ) {
86
- jQuery.each(NODE, function () {
87
- TREE_OBJ.remove(this);
178
+ "remove": {
179
+ "label": "Supprimer",
180
+ "icon": "remove",
181
+ "action": function(obj) {
182
+ var tree = this;
183
+ jQuery.each(obj, function () {
184
+ tree.remove(this);
88
185
  });
89
186
  }
90
187
  },
91
- add_image : {
92
- label : "Add image",
93
- icon : "image",
94
- visible : function (NODE, TREE_OBJ) {
95
- var ok = true;
96
- jQuery.each(NODE, function () {
97
- if(TREE_OBJ.check("deletable", this) == false) {
98
- ok = false;
99
- return false;
100
- }
101
- });
102
- return ok;
103
- },
104
- action : function (NODE, TREE_OBJ) {
105
- var cat_id = get_rails_element_id(NODE);
188
+ "add_image": {
189
+ "label": "Changer l'image",
190
+ "icon": "image",
191
+ "action": function(obj) {
192
+ var cat_id = get_rails_element_id(obj);
106
193
  jQuery('.tree-li-selected-to-add-image').each(function(){
107
194
  jQuery(this).removeClass('tree-li-selected-to-add-image');
108
195
  });
109
- jQuery(NODE).addClass("tree-li-selected-to-add-image");
196
+ jQuery(obj).addClass("tree-li-selected-to-add-image");
110
197
 
111
198
  openimageUploadDialogLeftSidebar(cat_id);
112
199
  return false;
113
200
  }
114
201
  }
115
202
  }
116
- }
117
- },
118
- ui: {
119
- theme_path: '/assets/forgeos/jstree/themes/',
120
- theme_name : 'categories',
121
- selected_parent_close: false
122
- },
123
- callback: {
124
- onload: function(TREE_OBJ){
125
- tree_id = jQuery(TREE_OBJ.container).attr('id');
126
- //display_notifications();
127
- jQuery(TREE_OBJ.container).removeClass('tree-default');
128
- jQuery(TREE_OBJ.container).find('a').each(function(index,selector){
129
- var category_id = get_rails_element_id(jQuery(selector).parent('li'));
130
- jQuery(selector).droppable({
131
- hoverClass: 'ui-state-hover',
132
- drop:function(ev, ui){
133
- jQuery.ajax({
134
- data: {element_id:get_rails_element_id(jQuery(ui.draggable)), authenticity_token: encodeURIComponent(window._forgeos_js_vars.token)},
135
- success:function(request){jQuery(ev.target).find('span').html(request);},
136
- type:'post',
137
- url:'/admin/categories/' + category_id + '/add_element'
138
- });
139
- }
140
- });
141
- });
142
- },
143
- oncreate: function(NODE,REF_NODE,TYPE,TREE_OBJ,RB){
144
- var parent_node = jQuery(NODE).parent().parent('li');
145
- var parent_id;
146
- // get parent_id if parent node exists
147
- if (parent_node[0] != undefined)
148
- parent_id = get_rails_element_id(parent_node);
149
-
150
- jQuery.ajax({
151
- url: '/admin/categories/create',
152
- complete: function(request){
153
- var cat_id = request.responseText
154
-
155
- jQuery(NODE).attr('id', 'cageory_' + cat_id);
156
- jQuery(NODE).children('a').attr('id', 'link_category_' + cat_id);
157
- set_category_droppable(cat_id, type);
158
-
159
- if( jQuery(".parent_id_hidden").size() == 0){
160
- jQuery(document.body).append('<input type="hidden" id="parent_id_tmp" name="parent_id_tmp" class="parent_id_hidden" value="'+cat_id+'" />');
161
- } else {
162
- jQuery('#parent_id_tmp').val(cat_id);
163
- }
164
-
165
- },
166
- data: get_category_data('New folder', type, parent_id),
167
- dataType: 'text',
168
- type: 'post'
169
- });
170
- },
171
- onrename: function(NODE,LANG,TREE_OBJ,RB){
172
- var cat_id = get_rails_element_id(NODE);
173
- jQuery.ajax({
174
- url: '/admin/categories/' + cat_id,
175
- // update elements count
176
- complete: function(request) {
177
- jQuery.tree.focused().refresh();
178
- },
179
- data: {authenticity_token:window._forgeos_js_vars.token, format: 'json', 'category[name]': jQuery(NODE).children('a').text()},
180
- dataType:'text',
181
- type:'put'
182
- });
183
- },
184
- onmove: function(NODE,LANG,TREE_OBJ,RB){
185
- var cat_id = get_rails_element_id(NODE);
186
- var parent_id = '';
187
- var parent_ul = jQuery(NODE).parents('ul:first');
188
- var position = jQuery(parent_ul).children('li').index(jQuery(NODE));
189
- var tree_id = jQuery(RB.container).attr('id');
190
-
191
- position = position+1;
192
- if (jQuery(NODE).parent().parent('li').length > 0){
193
- parent_id = get_rails_element_id(jQuery(NODE).parent().parent('li'));
194
- }
195
- jQuery.ajax({
196
- url: '/admin/categories/' + cat_id,
197
- // update elements count
198
- complete: function(request) {
199
- //jQuery.tree.focused().refresh();
200
- },
201
- data: {authenticity_token:window._forgeos_js_vars.token, format: 'json', 'categories_hash': get_current_categories( tree_id ) },
202
- dataType:'text',
203
- type:'put'
204
- });
205
- },
206
- ondelete: function(NODE,TREE_OBJ){
207
- var cat_id = get_rails_element_id(NODE);
208
- jQuery.ajax({
209
- url: '/admin/categories/' + cat_id,
210
- success: function(request){
211
- jQuery(NODE).attr('id', 'cageory_' + request.responseText);
212
- },
213
- data: {authenticity_token:window._forgeos_js_vars.token, format: 'json'},
214
- dataType:'text',
215
- type:'delete'
216
- });
217
- },
218
- oncopy: function(NODE,REF_NODE,TYPE,TREE_OBJ,RB) { duplicate_category(NODE, type); },
219
- onselect: function(NODE,TREE_OBJ) {
220
- jQuery(".parent_id_hidden").remove();
221
- var cat_id = get_rails_element_id(NODE);
222
- var current_table = jQuery('#table').dataTableInstance();
223
- var url = current_table.fnSettings().sAjaxSource;
224
- var url_base = url.split('?')[0];
225
-
226
- jQuery('#category_sort').show();
227
- // update category id
228
- var params = get_json_params_from_url(url);
229
- params.category_id = cat_id;
230
- params = stringify_params_from_json(params);
231
-
232
- // construct url and redraw table
233
- update_current_dataTable_source('#table',url_base + '?' + params);
234
-
235
- object_name = jQuery(NODE).attr('id').split('_')[0];
236
- category_id = get_rails_element_id(NODE);
237
- if(jQuery(".parent_id_hidden").size() == 0){
238
- jQuery(document.body).append('<input type="hidden" id="parent_id_tmp" name="parent_id_tmp" class="parent_id_hidden" value="'+category_id+'" />');
239
- } else {
240
- jQuery('#parent_id_tmp').val(category_id);
241
- }
242
- return true;
243
203
  },
244
- ondeselect: function(NODE,TREE_OBJ) {
245
- jQuery('#category_sort').hide();
246
- return true;
204
+ "themes": {
205
+ "theme": 'categories'
247
206
  },
248
- // remove count span
249
- beforerename: function(NODE,LANG,TREE_OBJ) {
250
- jQuery(NODE).children('a').html(extract_category_name(NODE));
251
- jQuery(NODE).children('a').addClass('folder');
252
- return true;
207
+ "ui": {
208
+ "selected_parent_close": false
253
209
  },
254
- // add class big-icons to new category
255
- beforecreate: function(NODE,REF_NODE,TYPE,TREE_OBJ) {
256
- jQuery(NODE).children('a').addClass('folder');
257
- jQuery(NODE).children('a').addClass('big-icons');
258
- return true
259
- }
260
- }
261
- });
210
+ "plugins": ['themes', 'json_data', 'contextmenu', 'ui', 'crrm']
211
+ });
212
+ }
262
213
  }
263
214
 
264
215
  //check if something is selected in jsTree
265
216
  function check_jsTree_selected(element){
266
- if(jQuery.tree_reference(element).selected!=undefined){
217
+ if(typeof(jQuery.jstree._reference(element).selected) != 'undefined'){
267
218
  return true;
219
+ } else {
220
+ return false;
221
+ }
222
+ }
223
+
224
+ /*
225
+ *call when ther's a problem with jsTree control
226
+ *param : message
227
+ **/
228
+ function error_on_jsTree_action(message){
229
+ }
230
+
231
+ // initialize tree for category associations
232
+ function init_association_category_tree(selector, object_name, category_name, theme){
233
+ if (jQuery(selector).size() != 0) {
234
+ jQuery(selector).bind('check_node.jstree', function(e, data){
235
+ var jnode = jQuery(data.rslt.obj);
236
+ if (typeof(object_name) == 'undefined') {
237
+ var oname = jnode.attr('id').split('_')[0];
238
+ } else {
239
+ var oname = object_name;
240
+ }
241
+ var category_id = get_rails_element_id(jnode);
242
+ jnode.append('<input type="hidden" id="'+oname+'_'+category_name+'_ids_'+category_id+'" name="'+oname+'['+category_name+'_ids][]" value="'+category_id+'" />');
243
+ jnode.addClass('jstree-clicked');
244
+ }).bind('uncheck_node.jstree', function(e, data){
245
+ var jnode = jQuery(data.rslt.obj);
246
+ jnode.children('input').remove();
247
+ jnode.removeClass('jstree-clicked');
248
+ }).jstree({
249
+ "themes": {
250
+ "theme": theme
251
+ },
252
+ "ui": {
253
+ "selected_parent_close": false
254
+ },
255
+ "plugins": ['html_data', 'ui', 'themes', 'checkbox']
256
+ });
268
257
  }
269
- return false;
270
258
  }
271
259
 
272
260
  // unselect current node and refresh dataTables
@@ -278,7 +266,7 @@ function select_all_elements_by_url(url) {
278
266
 
279
267
  // unselect current node, remove category and refresh dataTable
280
268
  function select_all_elements_without_category(tree_id) {
281
- var t = jQuery.tree.focused();
269
+ var t = jQuery.jstree._focused();
282
270
 
283
271
  // unselect current selected node
284
272
  if (t) {
@@ -360,10 +348,10 @@ function addPageClasses(block_id){
360
348
 
361
349
  //Return current tree to json
362
350
  function get_current_categories( tree_id ){
363
- return JSON.stringify(jQuery.tree.reference("#"+tree_id ).get());
351
+ return JSON.stringify(jQuery.jstree._reference("#"+tree_id ).get());
364
352
  }
365
353
 
366
- function createNewLevel(parent,item, TREE_OBJ, level) {
354
+ function createNewLevel(parent_node,item, TREE_OBJ, level) {
367
355
  jQuery(item).each(function(){
368
356
  var cat_id = get_rails_element_id(jQuery(this));
369
357
  var parent_ul = jQuery(TREE_OBJ).children();
@@ -376,53 +364,10 @@ function createNewLevel(parent,item, TREE_OBJ, level) {
376
364
  }
377
365
  else{
378
366
  if(jQuery(this).children().length > 1){
379
- parent["category_"+cat_id] = {};
380
- createNewLevel(parent["category_"+cat_id],jQuery(this).children().children(), TREE_OBJ);
381
- }
382
- else{
383
- parent["category_"+cat_id] = cat_id;
384
- }
385
- }
386
- });
387
- }
388
-
389
- /*
390
- *call when ther's a problem with jsTree control
391
- *param : message
392
- **/
393
- function error_on_jsTree_action(message){
394
- }
395
-
396
- // initialize tree for category associations
397
- function init_association_category_tree(selector, object_name, category_name, theme){
398
- jQuery(selector).tree({
399
- ui: {
400
- theme_path: '/assets/forgeos/jstree/themes/',
401
- theme_name : theme,
402
- selected_parent_close: false
403
- },
404
- rules: { multiple:'on' },
405
- callback: {
406
- onload: function(TREE_OBJ){
407
- tree_id = jQuery(TREE_OBJ.container).attr('id');
408
- jQuery(TREE_OBJ.container).removeClass('tree-default');
409
- },
410
- onrgtclk: function(NODE,TREE_OBJ,EV){
411
- EV.preventDefault(); EV.stopPropagation(); return false;
412
- },
413
- onselect: function(NODE,TREE_OBJ){
414
- if (typeof(object_name) == 'undefined') {
415
- var oname = jQuery(NODE).attr('id').split('_')[0];
416
- } else {
417
- var oname = object_name;
418
- }
419
- var category_id = get_rails_element_id(NODE);
420
- jQuery(NODE).append('<input type="hidden" id="'+oname+'_'+category_name+'_ids_'+category_id+'" name="'+oname+'['+category_name+'_ids][]" value="'+category_id+'" />');
421
- jQuery(NODE).addClass('clicked');
422
- },
423
- ondeselect: function(NODE,TREE_OBJ){
424
- jQuery(NODE).children('input').remove();
425
- jQuery(NODE).removeClass('clicked');
367
+ parent_node["category_"+cat_id] = {};
368
+ createNewLevel(parent_node["category_"+cat_id],jQuery(this).children().children(), TREE_OBJ);
369
+ } else{
370
+ parent_node["category_"+cat_id] = cat_id;
426
371
  }
427
372
  }
428
373
  });
@@ -86,14 +86,11 @@ jQuery(document).ready(function(){
86
86
  **/
87
87
  jQuery('.create-folder, .create-smart').live('click',function(){
88
88
  var tree_id = jQuery('.category-tree').attr('id');
89
- var tree = jQuery.tree.reference(tree_id);
90
- if (tree){
91
- if(tree.selected){
92
- tree.create();
93
- }
94
- else{
95
- tree.create({},-1);
96
- }
89
+ var t = jQuery.jstree._reference(tree_id);
90
+ if(t.get_selected()){
91
+ t.create(t.get_selected(),0);
92
+ } else {
93
+ t.create(null,0);
97
94
  }
98
95
  });
99
96
 
@@ -103,11 +100,10 @@ jQuery(document).ready(function(){
103
100
  *param : tree_id => id of current-tree line 104
104
101
  **/
105
102
  jQuery('.modify-folder').live('click',function(){
106
- var t = jQuery.tree.focused();
107
- if(t.selected){
108
- t.rename()
109
- }
110
- else{
103
+ var t = jQuery.jstree._focused();
104
+ if(t.get_selected()){
105
+ t.rename(t.get_selected());
106
+ } else {
111
107
  error_on_jsTree_action("please select a category first");
112
108
  }
113
109
  });
@@ -118,11 +114,10 @@ jQuery(document).ready(function(){
118
114
  *param : tree_id => id of current-tree line 104
119
115
  **/
120
116
  jQuery('.delete-folder').live('click',function(){
121
- var t = jQuery.tree.focused();
122
- if(t.selected){
123
- t.remove();
124
- }
125
- else{
117
+ var t = jQuery.jstree._focused();
118
+ if(t.get_selected()){
119
+ t.remove(t.get_selected());
120
+ } else {
126
121
  error_on_jsTree_action("please select a category first");
127
122
  }
128
123
  });
@@ -133,13 +128,11 @@ jQuery(document).ready(function(){
133
128
  *param : tree_id => id of current-tree line 104
134
129
  **/
135
130
  jQuery('.duplicate-folder').live('click',function(){
136
- var t = jQuery.tree.focused();
137
- if(t.selected){
131
+ var t = jQuery.jstree._focused();
132
+ if(t.get_selected()){
138
133
  t.copy();
139
134
  t.paste(-1);
140
-
141
- }
142
- else{
135
+ } else {
143
136
  error_on_jsTree_action("please select a category first");
144
137
  }
145
138
  });
@@ -1,15 +1,15 @@
1
1
  jQuery(document).ready(function(){
2
- jQuery("#blocks-header.backgrounds.settings").tabs();
3
-
2
+ jQuery("#blocks-header").tabs();
3
+
4
4
  jQuery('#setting_mailer_delivery_method').change(function(){
5
5
  var value = jQuery('#setting_mailer_delivery_method').val();
6
6
  jQuery('.delivery_method_settings').hide();
7
7
  jQuery('#'+value).show();
8
8
  })
9
9
 
10
- if (jQuery('#setting_mailer_delivery_method').val() != null){
11
- var value = jQuery('#setting_mailer_delivery_method').val();
10
+ var current_mailer_setting = jQuery('#setting_mailer_delivery_method').val();
11
+ if (current_mailer_setting != null){
12
12
  jQuery('.delivery_method_settings').hide();
13
- jQuery('#'+value).show();
13
+ jQuery('#'+current_mailer_setting).show();
14
14
  }
15
15
  });