forgeos_core 1.9.1 → 1.9.2

Sign up to get free protection for your applications and to get access to all the features.
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
  });