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.
- 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
|
});
|