modules_setup
This commit is contained in:
parent
d01cc0bc50
commit
17da764d04
@ -44,34 +44,59 @@ erpnext.desktop.add_classes = function() {
|
|||||||
|
|
||||||
erpnext.desktop.render = function() {
|
erpnext.desktop.render = function() {
|
||||||
var icons = [
|
var icons = [
|
||||||
{ gradient: 'brown', sprite: 'feed', label: 'Activity', link: '#!Event Updates' },
|
{ gradient: 'blue', sprite: 'account', label: 'Accounts', link: '#!accounts-home',
|
||||||
{ gradient: 'blue', sprite: 'account', label: 'Accounts', link: '#!accounts-home' },
|
is_module: 'Accounts'},
|
||||||
{ gradient: 'green', sprite: 'selling', label: 'Selling', link: '#!selling-home' },
|
{ gradient: 'green', sprite: 'selling', label: 'Selling', link: '#!selling-home',
|
||||||
{ gradient: 'yellow', sprite: 'stock', label: 'Stock', link: '#!stock-home' },
|
is_module: 'Selling'},
|
||||||
{ gradient: 'red', sprite: 'buying', label: 'Buying', link: '#!buying-home' },
|
{ gradient: 'yellow', sprite: 'stock', label: 'Stock', link: '#!stock-home',
|
||||||
{ gradient: 'purple', sprite: 'support', label: 'Support', link: '#!support-home' },
|
is_module: 'Stock'},
|
||||||
{ gradient: 'ocean', sprite: 'hr', label: 'Human<br />Resources', link: '#!hr-home' },
|
{ gradient: 'red', sprite: 'buying', label: 'Buying', link: '#!buying-home',
|
||||||
{ gradient: 'violet', sprite: 'project', label: 'Projects', link: '#!projects-home' },
|
is_module: 'Buying'},
|
||||||
{ gradient: 'dark-red', sprite: 'production', label: 'Production', link: '#!production-home' },
|
{ gradient: 'purple', sprite: 'support', label: 'Support', link: '#!support-home',
|
||||||
{ gradient: 'leaf-green', sprite: 'website', label: 'Website', link: '#!website-home' },
|
is_module: 'Support'},
|
||||||
{ gradient: 'grey', sprite: 'setting', label: 'Settings', link: '#!Setup' },
|
{ gradient: 'ocean', sprite: 'hr', label: 'Human<br />Resources', link: '#!hr-home',
|
||||||
{ gradient: 'bright-green', sprite: 'dashboard', label: 'Dashboard', link: '#!dashboard' },
|
is_module: 'HR'},
|
||||||
//{ gradient: 'dark-blue', sprite: 'report', label: 'Report' },
|
{ gradient: 'violet', sprite: 'project', label: 'Projects', link: '#!projects-home',
|
||||||
{ gradient: 'pink', sprite: 'messages', label: 'Messages', link: '#!messages' },
|
is_module: 'Projects'},
|
||||||
{ gradient: 'bright-yellow', sprite: 'todo', label: 'To Do', link: '#!todo' },
|
{ gradient: 'dark-red', sprite: 'production', label: 'Production', link: '#!production-home',
|
||||||
{ gradient: 'peacock', sprite: 'calendar', label: 'Calendar', link: '#!calendar' },
|
is_module: 'Production'},
|
||||||
{ gradient: 'ultra-dark-green', sprite: 'kb', label: 'Knowledge<br />Base', link: '#!questions' },
|
{ gradient: 'leaf-green', sprite: 'website', label: 'Website', link: '#!website-home',
|
||||||
|
is_module: 'Website'},
|
||||||
]
|
]
|
||||||
|
|
||||||
$.each(icons, function(i, v) {
|
var add_icon = function(v) {
|
||||||
var icon_case = $('#icon-grid').append(repl('\
|
$('#icon-grid').append(repl('\
|
||||||
<div id="%(sprite)s" class="case-wrapper"><a href="%(link)s">\
|
<div id="%(sprite)s" class="case-wrapper"><a href="%(link)s">\
|
||||||
<div class="case-border case-%(gradient)s">\
|
<div class="case-border case-%(gradient)s">\
|
||||||
<div class="sprite-image sprite-%(sprite)s"></div>\
|
<div class="sprite-image sprite-%(sprite)s"></div>\
|
||||||
</div></a>\
|
</div></a>\
|
||||||
<div class="case-label">%(label)s</div>\
|
<div class="case-label">%(label)s</div>\
|
||||||
</div>', v));
|
</div>', v));
|
||||||
});
|
}
|
||||||
|
|
||||||
|
var get_module = function(m) {
|
||||||
|
for(var i in icons) {
|
||||||
|
if(icons[i].is_module==m) return icons[i]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// activity
|
||||||
|
add_icon({ gradient: 'brown', sprite: 'feed', label: 'Activity', link: '#!Event Updates'});
|
||||||
|
|
||||||
|
// modules
|
||||||
|
for(var i in wn.boot.modules_list)
|
||||||
|
add_icon(get_module(wn.boot.modules_list[i]));
|
||||||
|
|
||||||
|
// setup
|
||||||
|
if(user_roles.indexOf('System Manager')!=-1)
|
||||||
|
add_icon({ gradient: 'grey', sprite: 'setting', label: 'Setup', link: '#!Setup' });
|
||||||
|
|
||||||
|
// apps
|
||||||
|
add_icon({ gradient: 'bright-green', sprite: 'dashboard', label: 'Dashboard', link: '#!dashboard' });
|
||||||
|
add_icon({ gradient: 'bright-yellow', sprite: 'todo', label: 'To Do', link: '#!todo' });
|
||||||
|
add_icon({ gradient: 'pink', sprite: 'messages', label: 'Messages', link: '#!messages' });
|
||||||
|
add_icon({ gradient: 'peacock', sprite: 'calendar', label: 'Calendar', link: '#!calendar' });
|
||||||
|
add_icon({ gradient: 'ultra-dark-green', sprite: 'kb', label: 'Knowledge<br />Base', link: '#!questions' });
|
||||||
|
|
||||||
erpnext.desktop.show_pending_notifications();
|
erpnext.desktop.show_pending_notifications();
|
||||||
|
|
||||||
|
|||||||
0
erpnext/setup/page/modules_setup/__init__.py
Normal file
0
erpnext/setup/page/modules_setup/__init__.py
Normal file
0
erpnext/setup/page/modules_setup/modules_setup.css
Normal file
0
erpnext/setup/page/modules_setup/modules_setup.css
Normal file
14
erpnext/setup/page/modules_setup/modules_setup.html
Normal file
14
erpnext/setup/page/modules_setup/modules_setup.html
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<div class="layout-wrapper">
|
||||||
|
<a class="close" onclick="window.history.back();">×</a>
|
||||||
|
<h1>Modules Setup</h1>
|
||||||
|
<hr>
|
||||||
|
<div class="help" style="width: 300px; float: right">
|
||||||
|
Select checkbox to show / hide module. Drag around to move order.
|
||||||
|
</div>
|
||||||
|
<div id="modules-list">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<button class="btn btn-small btn-primary" id="modules-update"
|
||||||
|
onclick="wn.pages.modules_setup.update()">Update</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
50
erpnext/setup/page/modules_setup/modules_setup.js
Normal file
50
erpnext/setup/page/modules_setup/modules_setup.js
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
wn.require('lib/js/lib/jquery-ui-sortable.min.js');
|
||||||
|
|
||||||
|
$.extend(wn.pages.modules_setup, {
|
||||||
|
modules: ['Accounts', 'Selling', 'Buying', 'Stock', 'Production', 'Projects',
|
||||||
|
'Support', 'HR', 'Website'],
|
||||||
|
onload: function(wrapper) {
|
||||||
|
wn.pages.modules_setup.refresh(wn.boot.modules_list);
|
||||||
|
},
|
||||||
|
refresh: function(ml) {
|
||||||
|
$('#modules-list').empty();
|
||||||
|
|
||||||
|
// checked modules
|
||||||
|
for(i in ml) {
|
||||||
|
$('#modules-list').append(repl('<p style="cursor:move;">\
|
||||||
|
<input type="checkbox" data-module="%(m)s"> \
|
||||||
|
%(m)s</p>', {m:ml[i]}));
|
||||||
|
}
|
||||||
|
$('#modules-list [data-module]').attr('checked', true);
|
||||||
|
|
||||||
|
// unchecked modules
|
||||||
|
var all = wn.pages.modules_setup.modules;
|
||||||
|
for(i in all) {
|
||||||
|
if(!$('#modules-list [data-module="'+all[i]+'"]').length) {
|
||||||
|
$('#modules-list').append(repl('<p style="cursor:move;">\
|
||||||
|
<input type="checkbox" data-module="%(m)s"> \
|
||||||
|
%(m)s</p>', {m:all[i]}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#modules-list').sortable();
|
||||||
|
|
||||||
|
},
|
||||||
|
update: function() {
|
||||||
|
var ml = [];
|
||||||
|
$('#modules-list [data-module]').each(function() {
|
||||||
|
if($(this).attr('checked'))
|
||||||
|
ml.push($(this).attr('data-module'));
|
||||||
|
});
|
||||||
|
|
||||||
|
wn.call({
|
||||||
|
method: 'setup.page.modules_setup.modules_setup.update',
|
||||||
|
args: {
|
||||||
|
ml: JSON.stringify(ml)
|
||||||
|
},
|
||||||
|
callback: function(r) {
|
||||||
|
},
|
||||||
|
btn: $('#modules-update').get(0)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
8
erpnext/setup/page/modules_setup/modules_setup.py
Normal file
8
erpnext/setup/page/modules_setup/modules_setup.py
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import webnotes
|
||||||
|
|
||||||
|
@webnotes.whitelist()
|
||||||
|
def update(arg=None):
|
||||||
|
"""update modules"""
|
||||||
|
webnotes.conn.set_global('modules_list', webnotes.form_dict['ml'])
|
||||||
|
webnotes.msgprint('Updated')
|
||||||
|
webnotes.clear_cache()
|
||||||
28
erpnext/setup/page/modules_setup/modules_setup.txt
Normal file
28
erpnext/setup/page/modules_setup/modules_setup.txt
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# Page, modules_setup
|
||||||
|
[
|
||||||
|
|
||||||
|
# These values are common in all dictionaries
|
||||||
|
{
|
||||||
|
'creation': '2012-02-28 17:48:39',
|
||||||
|
'docstatus': 0,
|
||||||
|
'modified': '2012-02-28 17:48:39',
|
||||||
|
'modified_by': u'Administrator',
|
||||||
|
'owner': u'Administrator'
|
||||||
|
},
|
||||||
|
|
||||||
|
# These values are common for all Page
|
||||||
|
{
|
||||||
|
'doctype': 'Page',
|
||||||
|
'module': u'Setup',
|
||||||
|
'name': '__common__',
|
||||||
|
'page_name': u'modules_setup',
|
||||||
|
'standard': u'Yes',
|
||||||
|
'title': u'Modules Setup'
|
||||||
|
},
|
||||||
|
|
||||||
|
# Page, modules_setup
|
||||||
|
{
|
||||||
|
'doctype': 'Page',
|
||||||
|
'name': u'modules_setup'
|
||||||
|
}
|
||||||
|
]
|
||||||
@ -20,7 +20,7 @@
|
|||||||
<div class="setup-column">
|
<div class="setup-column">
|
||||||
<h3>Users and Permissions</h3>
|
<h3>Users and Permissions</h3>
|
||||||
<p>
|
<p>
|
||||||
<b><a href="#!My Company">Users</a></b><br>
|
<b><a href="#!users">Users</a></b><br>
|
||||||
<span class="help">Add/remove users, set roles, passwords etc</span>
|
<span class="help">Add/remove users, set roles, passwords etc</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
@ -31,6 +31,10 @@
|
|||||||
<b><a href="#!List/Authorization Rule">Amount based Authorization Rules</a></b><br>
|
<b><a href="#!List/Authorization Rule">Amount based Authorization Rules</a></b><br>
|
||||||
<span class="help">Restrict submission rights based on amount</span>
|
<span class="help">Restrict submission rights based on amount</span>
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<b><a href="#!modules_setup">Modules Setup</a></b><br>
|
||||||
|
<span class="help">Show, hide modules</span>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="setup-column">
|
<div class="setup-column">
|
||||||
<h3>Data</h3>
|
<h3>Data</h3>
|
||||||
|
|||||||
@ -88,6 +88,8 @@ def boot_session(bootinfo):
|
|||||||
import webnotes.model.doctype
|
import webnotes.model.doctype
|
||||||
bootinfo['docs'] += webnotes.model.doctype.get('Event')
|
bootinfo['docs'] += webnotes.model.doctype.get('Event')
|
||||||
|
|
||||||
|
bootinfo['modules_list'] = webnotes.conn.get_global('modules_list')
|
||||||
|
|
||||||
def get_letter_heads():
|
def get_letter_heads():
|
||||||
"""load letter heads with startup"""
|
"""load letter heads with startup"""
|
||||||
import webnotes
|
import webnotes
|
||||||
|
|||||||
@ -73,20 +73,35 @@ erpnext.toolbar.add_modules = function() {
|
|||||||
$('<li class="dropdown">\
|
$('<li class="dropdown">\
|
||||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#"\
|
<a class="dropdown-toggle" data-toggle="dropdown" href="#"\
|
||||||
onclick="return false;">Modules<b class="caret"></b></a>\
|
onclick="return false;">Modules<b class="caret"></b></a>\
|
||||||
<ul class="dropdown-menu">\
|
<ul class="dropdown-menu modules">\
|
||||||
<li><a href="#!accounts-home" data-module="Accounts">Accounts</a></li>\
|
|
||||||
<li><a href="#!selling-home" data-module="Selling">Selling</a></li>\
|
|
||||||
<li><a href="#!stock-home" data-module="Stock">Stock</a></li>\
|
|
||||||
<li><a href="#!buying-home" data-module="Buying">Buying</a></li>\
|
|
||||||
<li><a href="#!support-home" data-module="Support">Support</a></li>\
|
|
||||||
<li><a href="#!hr-home" data-module="HR">Human Resources</a></li>\
|
|
||||||
<li><a href="#!projects-home" data-module="Projects">Projects</a></li>\
|
|
||||||
<li><a href="#!production-home" data-module="Production">Production</a></li>\
|
|
||||||
<li><a href="#!website-home" data-module="Website">Website</a></li>\
|
|
||||||
<li class="divider"></li>\
|
|
||||||
<li><a href="#!Setup" data-module="Setup">Setup</a></li>\
|
|
||||||
</ul>\
|
</ul>\
|
||||||
</li>').prependTo('.navbar .nav:first');
|
</li>').prependTo('.navbar .nav:first');
|
||||||
$('.navbar .nav:first')
|
|
||||||
|
// if no modules list then show all
|
||||||
|
if(wn.boot.modules_list)
|
||||||
|
wn.boot.modules_list = JSON.parse(wn.boot.modules_list);
|
||||||
|
else
|
||||||
|
wn.boot.modules_list = ['Accounts', 'Selling', 'Buying', 'Stock',
|
||||||
|
'Production', 'Projects', 'Support', 'HR', 'Website'];
|
||||||
|
|
||||||
|
// add to dropdown
|
||||||
|
for(var i in wn.boot.modules_list) {
|
||||||
|
var m = wn.boot.modules_list[i]
|
||||||
|
args = {
|
||||||
|
module: m,
|
||||||
|
module_page: m.toLowerCase(),
|
||||||
|
module_label: m=='HR' ? 'Human Resources' : m
|
||||||
|
}
|
||||||
|
|
||||||
|
$('.navbar .modules').append(repl('<li><a href="#!%(module_page)s-home" \
|
||||||
|
data-module="%(module)s">%(module_label)s</a></li>', args));
|
||||||
|
}
|
||||||
|
|
||||||
|
// setup for system manager
|
||||||
|
if(user_roles.indexOf("System Manager")!=-1) {
|
||||||
|
$('.navbar .modules').append('<li class="divider"></li>\
|
||||||
|
<li><a href="#!Setup" data-module="Setup">Setup</a></li>');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2240,20 +2240,16 @@ $.each(new_comments,function(i,v){var msg='New Message: '+(v[1].length<=100?v[1]
|
|||||||
erpnext.toolbar.add_modules=function(){$('<li class="dropdown">\
|
erpnext.toolbar.add_modules=function(){$('<li class="dropdown">\
|
||||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#"\
|
<a class="dropdown-toggle" data-toggle="dropdown" href="#"\
|
||||||
onclick="return false;">Modules<b class="caret"></b></a>\
|
onclick="return false;">Modules<b class="caret"></b></a>\
|
||||||
<ul class="dropdown-menu">\
|
<ul class="dropdown-menu modules">\
|
||||||
<li><a href="#!accounts-home" data-module="Accounts">Accounts</a></li>\
|
|
||||||
<li><a href="#!selling-home" data-module="Selling">Selling</a></li>\
|
|
||||||
<li><a href="#!stock-home" data-module="Stock">Stock</a></li>\
|
|
||||||
<li><a href="#!buying-home" data-module="Buying">Buying</a></li>\
|
|
||||||
<li><a href="#!support-home" data-module="Support">Support</a></li>\
|
|
||||||
<li><a href="#!hr-home" data-module="HR">Human Resources</a></li>\
|
|
||||||
<li><a href="#!projects-home" data-module="Projects">Projects</a></li>\
|
|
||||||
<li><a href="#!production-home" data-module="Production">Production</a></li>\
|
|
||||||
<li><a href="#!website-home" data-module="Website">Website</a></li>\
|
|
||||||
<li class="divider"></li>\
|
|
||||||
<li><a href="#!Setup" data-module="Setup">Setup</a></li>\
|
|
||||||
</ul>\
|
</ul>\
|
||||||
</li>').prependTo('.navbar .nav:first');$('.navbar .nav:first')}
|
</li>').prependTo('.navbar .nav:first');if(wn.boot.modules_list)
|
||||||
|
wn.boot.modules_list=JSON.parse(wn.boot.modules_list);else
|
||||||
|
wn.boot.modules_list=['Accounts','Selling','Buying','Stock','Production','Projects','Support','HR','Website'];for(var i in wn.boot.modules_list){var m=wn.boot.modules_list[i]
|
||||||
|
args={module:m,module_page:m.toLowerCase(),module_label:m=='HR'?'Human Resources':m}
|
||||||
|
$('.navbar .modules').append(repl('<li><a href="#!%(module_page)s-home" \
|
||||||
|
data-module="%(module)s">%(module_label)s</a></li>',args));}
|
||||||
|
if(user_roles.indexOf("System Manager")!=-1){$('.navbar .modules').append('<li class="divider"></li>\
|
||||||
|
<li><a href="#!Setup" data-module="Setup">Setup</a></li>');}}
|
||||||
/*
|
/*
|
||||||
* erpnext/startup/feature_setup.js
|
* erpnext/startup/feature_setup.js
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
748
|
752
|
||||||
Loading…
x
Reference in New Issue
Block a user