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.
- data/COPYING +339 -0
- data/COPYING.LESSER +165 -0
- data/app/assets/images/forgeos/dataTables/Sorting icons.psd +0 -0
- data/app/assets/images/forgeos/dataTables/back_disabled.jpg +0 -0
- data/app/assets/images/forgeos/dataTables/back_enabled.jpg +0 -0
- data/app/assets/images/forgeos/dataTables/favicon.ico +0 -0
- data/app/assets/images/forgeos/dataTables/forward_disabled.jpg +0 -0
- data/app/assets/images/forgeos/dataTables/forward_enabled.jpg +0 -0
- data/app/assets/images/forgeos/dataTables/sort_asc.png +0 -0
- data/app/assets/images/forgeos/dataTables/sort_asc_disabled.png +0 -0
- data/app/assets/images/forgeos/dataTables/sort_both.png +0 -0
- data/app/assets/images/forgeos/dataTables/sort_desc.png +0 -0
- data/app/assets/images/forgeos/dataTables/sort_desc_disabled.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/bubble-quantity-products.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/check-checked.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/check-unchecked.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/context.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/create.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/dark-blue-minus.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/dark-blue-plus.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/dot.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/f.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fminus.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fminus_rtl.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/folder.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fplus.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/fplus_rtl.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/lastli.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/lastli_rtl.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/li.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/remove.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/rename.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/association_categories/throbber.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/brown-minus.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/brown-plus.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/bubble-quantity-elements.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/context.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/create.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/dot.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/f.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fminus.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fminus_rtl.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fplus.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/fplus_rtl.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/images.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/lastli.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/lastli_rtl.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/li.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/remove.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/rename.png +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/categories/throbber.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/marker.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/marker_rtl.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/plus.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/remove.gif +0 -0
- data/app/assets/{stylesheets → images}/forgeos/jstree/themes/remove.png +0 -0
- data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/commons.js +8 -3
- data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/dataTable.js +2 -2
- data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/tinyMCE.js +1 -1
- data/app/assets/javascripts/forgeos/admin/functions/forgeos_core/trees.js +202 -257
- data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/left-sidebar.js +16 -23
- data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/settings.js +5 -5
- data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/tabs.js +3 -3
- data/app/assets/javascripts/forgeos/admin/inits/forgeos_core/trees.js +2 -45
- data/app/assets/javascripts/forgeos/jquery.dataTables.min.js +138 -529
- data/app/assets/javascripts/forgeos/jstree/jquery.jstree.js +4544 -0
- data/app/assets/stylesheets/forgeos/admin/forgeos_core/_lightbox.css.sass +2 -21
- data/app/assets/stylesheets/forgeos/admin/forgeos_core/_settings.css.sass +77 -39
- data/app/assets/stylesheets/forgeos/dataTables/demo_table.css +150 -27
- data/app/assets/stylesheets/forgeos/jstree/themes/association_categories/style.css.sass +36 -154
- data/app/assets/stylesheets/forgeos/jstree/themes/categories/style.css.sass +59 -58
- data/app/controllers/admin/accounts_controller.rb +1 -1
- data/app/controllers/admin/administrators_controller.rb +13 -4
- data/app/controllers/admin/attachments_controller.rb +7 -3
- data/app/controllers/admin/base_controller.rbc +1305 -0
- data/app/controllers/admin/categories_controller.rb +1 -1
- data/app/controllers/admin/dashboard_controller.rbc +361 -0
- data/app/controllers/admin/person_sessions_controller.rbc +1248 -0
- data/app/controllers/admin/rights_controller.rb +6 -6
- data/app/controllers/admin/roles_controller.rb +8 -3
- data/app/controllers/admin/users_controller.rb +12 -6
- data/app/controllers/forgeos/application_controller.rb +1 -2
- data/app/controllers/forgeos/application_controller.rbc +2027 -0
- data/app/helpers/admin/attachment_helper.rbc +2340 -0
- data/app/helpers/admin/base_helper.rb +0 -15
- data/app/helpers/admin/base_helper.rbc +2522 -0
- data/app/helpers/forgeos/application_helper.rbc +3152 -0
- data/app/models/administrator.rbc +415 -0
- data/app/models/category.rb +3 -3
- data/app/models/person.rb +5 -9
- data/app/models/person.rbc +1498 -0
- data/app/models/person_session.rbc +142 -0
- data/app/models/right.rbc +432 -0
- data/app/models/role.rbc +469 -0
- data/app/models/setting.rbc +699 -0
- data/app/views/admin/accounts/_form.html.haml +1 -1
- data/app/views/admin/administrators/activate.js.erb +1 -0
- data/app/views/admin/administrators/destroy.js.erb +1 -0
- data/app/views/admin/administrators/index.json.erb +10 -12
- data/app/views/admin/attachments/_form.html.haml +2 -2
- data/app/views/admin/attachments/destroy.js.erb +1 -0
- data/app/views/admin/attachments/index.json.erb +4 -5
- data/app/views/admin/categories/_associated_elements.html.haml +4 -8
- data/app/views/admin/categories/index.json.erb +1 -1
- data/app/views/admin/rights/destroy.js.erb +1 -0
- data/app/views/admin/rights/index.json.erb +5 -6
- data/app/views/admin/roles/activate.js.erb +1 -0
- data/app/views/admin/roles/destroy.js.erb +1 -0
- data/app/views/admin/roles/index.json.erb +10 -12
- data/app/views/admin/settings/_tabs.html.haml +0 -6
- data/app/views/admin/settings/edit.html.haml +19 -16
- data/app/views/admin/sidebars/_attachments_popups.html.haml +1 -1
- data/app/views/admin/sidebars/_left_sidebar.html.haml +2 -2
- data/app/views/admin/users/activate.js.erb +1 -0
- data/app/views/admin/users/destroy.js.erb +1 -0
- data/app/views/admin/users/index.json.erb +8 -11
- data/app/views/admin/visual/_visual_popup.html.haml +2 -2
- data/app/views/admin/visual/_visuals_popup.html.haml +1 -1
- data/app/views/layouts/admin.html.haml +5 -4
- data/app/views/layouts/admin_login.html.haml +3 -3
- data/config/initializers/load_settings.rbc +330 -0
- data/config/routes.rb +5 -8
- data/config/routes.rbc +2203 -0
- data/lib/extensions/form_helper_extensions.rb +2 -2
- data/lib/extensions/form_helper_extensions.rbc +295 -0
- data/lib/extensions/i18n_fallbacks_config.rbc +246 -0
- data/lib/extensions.rbc +126 -0
- data/lib/forgeos/core/engine.rbc +316 -0
- data/lib/forgeos/core.rbc +325 -0
- data/lib/forgeos.rbc +1942 -0
- data/lib/forgeos_core.rbc +53 -0
- data/lib/map_fields.rbc +4437 -0
- data/lib/sortable_attachments.rbc +1399 -0
- data/lib/sphinx_globalize.rbc +785 -0
- metadata +286 -53
- data/app/assets/javascripts/forgeos/jstree/jquery.tree.js +0 -2061
- data/app/assets/javascripts/forgeos/jstree/plugins/jquery.tree.contextmenu.js +0 -129
- data/app/assets/javascripts/forgeos/jstree/plugins/jquery.tree.cookie.js +0 -70
- data/app/assets/stylesheets/forgeos/jquery.selectbox.css +0 -75
- data/app/assets/stylesheets/forgeos/jstree/themes/categories/style.css +0 -106
- 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')
|
|
17
|
-
|
|
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 : "/
|
|
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":
|
|
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).
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
63
|
-
icon
|
|
64
|
-
|
|
65
|
-
|
|
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
|
|
74
|
-
icon
|
|
75
|
-
|
|
76
|
-
var
|
|
77
|
-
jQuery.each(
|
|
78
|
-
|
|
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
|
|
93
|
-
icon
|
|
94
|
-
|
|
95
|
-
var
|
|
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(
|
|
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
|
-
|
|
245
|
-
|
|
246
|
-
return true;
|
|
204
|
+
"themes": {
|
|
205
|
+
"theme": 'categories'
|
|
247
206
|
},
|
|
248
|
-
|
|
249
|
-
|
|
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
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
351
|
+
return JSON.stringify(jQuery.jstree._reference("#"+tree_id ).get());
|
|
364
352
|
}
|
|
365
353
|
|
|
366
|
-
function createNewLevel(
|
|
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
|
-
|
|
380
|
-
createNewLevel(
|
|
381
|
-
}
|
|
382
|
-
|
|
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
|
|
90
|
-
if
|
|
91
|
-
|
|
92
|
-
|
|
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.
|
|
107
|
-
if(t.
|
|
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.
|
|
122
|
-
if(t.
|
|
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.
|
|
137
|
-
if(t.
|
|
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
|
|
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
|
-
|
|
11
|
-
|
|
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('#'+
|
|
13
|
+
jQuery('#'+current_mailer_setting).show();
|
|
14
14
|
}
|
|
15
15
|
});
|