diff --git a/css/all-app.css b/css/all-app.css
index 77fea0b84a4..dec09ee18f4 100644
--- a/css/all-app.css
+++ b/css/all-app.css
@@ -1186,7 +1186,6 @@ div.psidebar div.section-item, div.psidebar .section-link {
font-size: 11px;
color: #666;
}
-
/*
* lib/css/bootstrap/headings.css
*//* heading from bootstrap */
@@ -2089,12 +2088,6 @@ button.btn.small, input[type="submit"].btn.small {
right: 13px;
}
-/*extra size menus for recent*/
-.dropdown-menu#toolbar-recent, .dropdown-menu#toolbar-options, .dropdown-menu#toolbar-help{
- width: 260px !important;
- max-width: 260px !important;
-}
-
/* ajax spinner */
.navbar #spinner {
display: block;
@@ -2108,6 +2101,7 @@ button.btn.small, input[type="submit"].btn.small {
.navbar-inner {
padding: 0px 20px;
}
+
/*
* lib/css/bootstrap/dropdown.css
*/.dropdown {
@@ -2844,11 +2838,41 @@ body {
.navbar-new-comments {
margin: -3px 0px;
padding: 2px;
- font-size: 14px;
- color: #fff;
- background-color: #B00D07;
min-width: 20px;
text-align: center;
display: inline-block;
border-radius: 2px;
+ color: #999999;
+ background-color: #333131;
+}
+
+.navbar-new-comments:hover,
+.navbar-new-comments:active,
+.navbar-new-comments:focus {
+ color: #fff;
+}
+
+
+.navbar-new-comments-true {
+ color: #fff;
+ background-color: #B00D07;
+}
+
+.navbar-icon-home {
+ vertical-align: middle;
+ opacity:0.4;
+ Filter:alpha(opacity=40); /* For IE8 and earlier */
+}
+
+.navbar-icon-home:hover,
+.navbar-icon-home:focus,
+.navbar-icon-home:active {
+ opacity:1;
+ Filter:alpha(opacity=100); /* For IE8 and earlier */
+}
+
+/*extra size menus for recent*/
+.dropdown-menu#toolbar-recent, .dropdown-menu#toolbar-options, .dropdown-menu#toolbar-help{
+ min-width: 160px !important;
+ max-width: 260px !important;
}
diff --git a/css/all-web.css b/css/all-web.css
index 04cfd363ee5..ec9fff273d7 100644
--- a/css/all-web.css
+++ b/css/all-web.css
@@ -1316,12 +1316,6 @@ button.btn.small, input[type="submit"].btn.small {
right: 13px;
}
-/*extra size menus for recent*/
-.dropdown-menu#toolbar-recent, .dropdown-menu#toolbar-options, .dropdown-menu#toolbar-help{
- width: 260px !important;
- max-width: 260px !important;
-}
-
/* ajax spinner */
.navbar #spinner {
display: block;
@@ -1335,6 +1329,7 @@ button.btn.small, input[type="submit"].btn.small {
.navbar-inner {
padding: 0px 20px;
}
+
/*
* lib/css/bootstrap/dropdown.css
*/.dropdown {
@@ -1651,13 +1646,43 @@ body {
.navbar-new-comments {
margin: -3px 0px;
padding: 2px;
- font-size: 14px;
- color: #fff;
- background-color: #B00D07;
min-width: 20px;
text-align: center;
display: inline-block;
border-radius: 2px;
+ color: #999999;
+ background-color: #333131;
+}
+
+.navbar-new-comments:hover,
+.navbar-new-comments:active,
+.navbar-new-comments:focus {
+ color: #fff;
+}
+
+
+.navbar-new-comments-true {
+ color: #fff;
+ background-color: #B00D07;
+}
+
+.navbar-icon-home {
+ vertical-align: middle;
+ opacity:0.4;
+ Filter:alpha(opacity=40); /* For IE8 and earlier */
+}
+
+.navbar-icon-home:hover,
+.navbar-icon-home:focus,
+.navbar-icon-home:active {
+ opacity:1;
+ Filter:alpha(opacity=100); /* For IE8 and earlier */
+}
+
+/*extra size menus for recent*/
+.dropdown-menu#toolbar-recent, .dropdown-menu#toolbar-options, .dropdown-menu#toolbar-help{
+ min-width: 160px !important;
+ max-width: 260px !important;
}
/*
diff --git a/erpnext/home/page/desktop/desktop.js b/erpnext/home/page/desktop/desktop.js
index 9400cfe4222..e2a8d5386e0 100644
--- a/erpnext/home/page/desktop/desktop.js
+++ b/erpnext/home/page/desktop/desktop.js
@@ -78,7 +78,7 @@ erpnext.desktop.render = function() {
}
erpnext.desktop.show_pending_notifications = function() {
- $('#messages a:first').prepend('
\
+ $('#messages a:first').prepend('
\
');
$('#msg_count').toggle(false);
update_messages();
diff --git a/erpnext/setup/page/permission_engine/permission_engine.html b/erpnext/setup/page/permission_engine/permission_engine.html
index 1b9cab20680..7831447a6a5 100644
--- a/erpnext/setup/page/permission_engine/permission_engine.html
+++ b/erpnext/setup/page/permission_engine/permission_engine.html
@@ -1,4 +1,8 @@
\ No newline at end of file
+
+ One of the Roles has Submit permission.
+ You will have to Cancel and then Amend a submitted Document for making changes.
+
+
diff --git a/erpnext/setup/page/permission_engine/permission_engine.js b/erpnext/setup/page/permission_engine/permission_engine.js
index fc244107304..1d77e518868 100644
--- a/erpnext/setup/page/permission_engine/permission_engine.js
+++ b/erpnext/setup/page/permission_engine/permission_engine.js
@@ -15,399 +15,423 @@
// along with this program. If not, see .
pscript['onload_Permission Engine'] = function() {
- // header and toolbar
- var h = new PageHeader('pe_header','Permissions Manager','Set specific permissions for Roles')
-
- if(!pscript.perm_engine) pscript.perm_engine = new pscript.PermEngine();
+ // header and toolbar
+ var h = new PageHeader('pe_header','Permissions Manager','Set specific permissions for Roles')
+
+ if(!pscript.perm_engine) pscript.perm_engine = new pscript.PermEngine();
}
pscript.PermEngine = function() {
- // create UI elements
- this.wrapper = $i('perm_engine_div');
-
- this.head = $a(this.wrapper, 'div');
- this.body = $a(this.wrapper, 'div');
- this.footer = $a(this.wrapper, 'div');
+ // create UI elements
+ this.wrapper = $i('perm_engine_div');
+
+ this.head = $a(this.wrapper, 'div');
+ this.body = $a(this.wrapper, 'div');
+ this.footer = $a(this.wrapper, 'div');
- var lab = $a(this.body,'div', '', {backgroundColor:'#FFD', padding:'8px', margin:'16px 0px'});
- lab.innerHTML = 'Please select the item for which you want to set permissions';
-
- this.make_head();
- this.load_options();
+ var lab = $a(this.body,'div', '', {backgroundColor:'#FFD', padding:'8px', margin:'16px 0px'});
+ lab.innerHTML = 'Please select the item for which you want to set permissions';
+
+ this.make_head();
+ this.load_options();
}
// Make Head
// -------------
pscript.PermEngine.prototype.make_head = function() {
- var me = this;
-
- var make_select = function(label) {
- var w = $a(me.head, 'div', '', {margin:'8px 0px'});
- var t = make_table(w,1,2,'300px',['50%','50%']);
- $td(t,0,0).innerHTML = label;
- var s = $a($td(t,0,1),'select','',{width:'140px'});
- s.wrapper = w;
- return s;
- }
-
- var make_button = function(label, parent, green) {
- return $btn(parent, label, null, {margin:'8px 0px', display:'none'}, (green ? 'green' : null));
- }
-
-
- // Set Permissions for
- this.type_select = make_select('Set Permissions For');
- this.type_select.onchange = function() {
- me.get_permissions();
- }
-
- // Update Button
- this.add_button = make_button('+ Add A New Rule', this.head, 0);
- this.add_button.onclick = function() {
- me.add_permission();
- }
+ var me = this;
+
+ var make_select = function(label) {
+ var w = $a(me.head, 'div', '', {margin:'8px 0px'});
+ var t = make_table(w,1,2,'300px',['50%','50%']);
+ $td(t,0,0).innerHTML = label;
+ var s = $a($td(t,0,1),'select','',{width:'140px'});
+ s.wrapper = w;
+ return s;
+ }
+
+ var make_button = function(label, parent, green) {
+ return $btn(parent, label, null, {margin:'8px 0px', display:'none'}, (green ? 'green' : null));
+ }
+
+
+ // Set Permissions for
+ this.type_select = make_select('Set Permissions For');
+ this.type_select.onchange = function() {
+ me.get_permissions();
+ }
+
+ // Update Button
+ this.add_button = make_button('+ Add A New Rule', this.head, 0);
+ this.add_button.onclick = function() {
+ me.add_permission();
+ }
- // Update Button
- this.update_button = make_button('Update', this.footer, 1);
- this.update_button.onclick = function() {
- me.update_permissions();
- }
+ // Update Button
+ this.update_button = make_button('Update', this.footer, 1);
+ this.update_button.onclick = function() {
+ me.update_permissions();
+ }
}
// Add Permissions
// -----------------
pscript.PermEngine.prototype.add_permission = function() {
- var me = this;
- if(!this.add_permission_dialog) {
-
- // dialog
- var d = new Dialog(400,400,'Add Permission');
- d.make_body([['Select','Role'],['Select','Level'],['Button','Add']])
+ var me = this;
+ if(!this.add_permission_dialog) {
+
+ // dialog
+ var d = new Dialog(400,400,'Add Permission');
+ d.make_body([['Select','Role'],['Select','Level'],['Button','Add']])
- add_sel_options(d.widgets['Role'], this.roles, '');
- add_sel_options(d.widgets['Level'], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 0);
+ add_sel_options(d.widgets['Role'], this.roles, '');
+ add_sel_options(d.widgets['Level'], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 0);
- // add
- d.widgets['Add'].onclick = function() {
- if(!sel_val(d.widgets['Role'])) {
- msgprint('Please select Role'); return;
- }
- var callback = function(r, rt) {
- // reload
- me.get_permissions();
- d.hide();
- }
- $c_obj('Permission Control','add_permission',JSON.stringify([sel_val(me.type_select), sel_val(d.widgets['Role']), sel_val(d.widgets['Level'])]), callback);
- }
+ // add
+ d.widgets['Add'].onclick = function() {
+ if(!sel_val(d.widgets['Role'])) {
+ msgprint('Please select Role'); return;
+ }
+ var callback = function(r, rt) {
+ // reload
+ me.get_permissions();
+ d.hide();
+ }
+ $c_obj('Permission Control','add_permission',JSON.stringify([sel_val(me.type_select), sel_val(d.widgets['Role']), sel_val(d.widgets['Level'])]), callback);
+ }
- this.add_permission_dialog = d;
- }
- this.add_permission_dialog.show();
+ this.add_permission_dialog = d;
+ }
+ this.add_permission_dialog.show();
}
// Hide Fields
// -----------------
pscript.PermEngine.prototype.hide_fields = function() {
- $dh(this.role_select.wrapper);
- this.type_select.disabled = false;
- this.body.innerHTML = '';
+ $dh(this.role_select.wrapper);
+ this.type_select.disabled = false;
+ this.body.innerHTML = '';
}
// Load Roles And Modules
// -----------------------
pscript.PermEngine.prototype.load_options = function() {
- var me = this;
- $dh(me.update_button);
- $dh(me.add_button);
+ var me = this;
+ $dh(me.update_button);
+ $dh(me.add_button);
- $c_obj('Permission Control','get_doctype_list','', function(r,rt) {
- me.roles = r.message.roles;
-
- // Type
- empty_select(me.type_select);
- add_sel_options(me.type_select,add_lists([''], r.message.doctypes));
-
- });
+ $c_obj('Permission Control','get_doctype_list','', function(r,rt) {
+ me.roles = r.message.roles;
+
+ // Type
+ empty_select(me.type_select);
+ add_sel_options(me.type_select,add_lists([''], r.message.doctypes));
+
+ });
}
// Get DocType and Permissions related to module
// --------------------------------------------------
pscript.PermEngine.prototype.get_permissions = function() {
- var me = this;
-
- if(!sel_val(me.type_select)) {
- msgprint('Please select a type first!'); return;
- }
-
- $c_obj('Permission Control','get_permissions',sel_val(me.type_select), function(r,rt) {
- // Get permissions
- if(r.message.perms.length)me.get_results(r.message);
- else me.body.innerHTML = 'No Records Found
'
- });
+ var me = this;
+
+ if(!sel_val(me.type_select)) {
+ msgprint('Please select a type first!'); return;
+ }
+
+ $c_obj('Permission Control','get_permissions',sel_val(me.type_select), function(r,rt) {
+ // Get permissions
+ if(r.message.perms.length) {
+ me.get_results(r.message);
+ }
+ else me.body.innerHTML = 'No Records Found
'
+ pscript.show_submittable();
+ });
}
// Get Results
// ------------------
pscript.PermEngine.prototype.get_results = function(r){
- var perms = r.perms;
- var me = this;
- var doctype = sel_val(me.type_select);
-
- // show update button
- $ds(me.update_button);
- $ds(me.add_button);
+ var perms = r.perms;
+ var me = this;
+ var doctype = sel_val(me.type_select);
+
+ // show update button
+ $ds(me.update_button);
+ $ds(me.add_button);
- this.body.innerHTML = ''
- pscript.all_checkboxes = [];
- pscript.all_matches = [];
-
- var head = $a(this.body, 'h3'); head.innerHTML = 'Rules for ' + doctype;
- var permt = make_table(me.body, perms.length+1,9,'80%',[],{border:'1px solid #AAA', padding:'3px', verticalAlign:'middle', height:'30px'});
-
- // Create Grid for particular DocType
- // ------------------------------------
-
- // Columns
- var col_labels = ['Role','Level','Read','Write','Create','Submit','Cancel','Amend','Restrict By']
- for(var n = 0; n < col_labels.length; n++){
- $y($td(permt,0,n), {backgroundColor:'#DDD', width:(n==0?'30%':(n==8?'21%':'7%'))})
- $td(permt,0,n).innerHTML = col_labels[n];
- $td(permt,0,n).fieldname = col_labels[n].toLowerCase();
- }
-
- // Rows for Column Level / Role
- for(var j = 0; j < perms.length; j++){
- var plevel = $a($td(permt,j+1,1), 'span', 'link_type');
- plevel.innerHTML = perms[j].permlevel;
- plevel.doctype = doctype;
- plevel.value = perms[j].permlevel;
- plevel.onclick = function() {me.get_fields(this.doctype, this.value)}
+ this.body.innerHTML = ''
+ pscript.all_checkboxes = [];
+ pscript.all_matches = [];
+
+ var head = $a(this.body, 'h3'); head.innerHTML = 'Rules for ' + doctype;
+ var permt = make_table(me.body, perms.length+1,9,'80%',[],{border:'1px solid #AAA', padding:'3px', verticalAlign:'middle', height:'30px'});
+
+ // Create Grid for particular DocType
+ // ------------------------------------
+
+ // Columns
+ var col_labels = ['Role','Level','Read','Write','Create','Submit','Cancel','Amend','Restrict By']
+ for(var n = 0; n < col_labels.length; n++){
+ $y($td(permt,0,n), {backgroundColor:'#DDD', width:(n==0?'30%':(n==8?'21%':'7%'))})
+ $td(permt,0,n).innerHTML = col_labels[n];
+ $td(permt,0,n).fieldname = col_labels[n].toLowerCase();
+ }
+
+ // Rows for Column Level / Role
+ for(var j = 0; j < perms.length; j++){
+ var plevel = $a($td(permt,j+1,1), 'span', 'link_type');
+ plevel.innerHTML = perms[j].permlevel;
+ plevel.doctype = doctype;
+ plevel.value = perms[j].permlevel;
+ plevel.onclick = function() {me.get_fields(this.doctype, this.value)}
- // role
- $td(permt,j+1,0).innerHTML = perms[j].role;
+ // role
+ $td(permt,j+1,0).innerHTML = perms[j].role;
- }
-
- // Get values
- for(var l = 0; l < perms.length; l++){
- for(var m = 0; m < 6; m++){ // (read,write,create,submit,cancel,amend)
- var chk = $a_input($td(permt,l+1,m+2), 'checkbox');
- var val = perms[l][$td(permt,0,m+2).fieldname];
- if(val == 1) chk.checked = 1;
- else chk.checked = 0;
- chk.doctype = doctype;
- chk.permlevel = perms[l].permlevel; chk.perm_type = col_labels[m+2].toLowerCase(); chk.role = perms[l].role;
- pscript.all_checkboxes.push(chk);
- }
- }
-
- // add selects for match
- me.add_match_select(r, perms, permt, doctype);
+ }
+
+ // Get values
+ for(var l = 0; l < perms.length; l++){
+ for(var m = 0; m < 6; m++){ // (read,write,create,submit,cancel,amend)
+ var chk = $a_input($td(permt,l+1,m+2), 'checkbox');
+ var val = perms[l][$td(permt,0,m+2).fieldname];
+ if(val == 1) chk.checked = 1;
+ else chk.checked = 0;
+
+ if(m==3) { chk.onclick = pscript.show_submittable }
+
+ chk.doctype = doctype;
+ chk.permlevel = perms[l].permlevel; chk.perm_type = col_labels[m+2].toLowerCase(); chk.role = perms[l].role;
+ pscript.all_checkboxes.push(chk);
+ }
+ }
+
+ // add selects for match
+ me.add_match_select(r, perms, permt, doctype);
}
+// Show submittable warning
+pscript.show_submittable = function() {
+ var submittable = 0;
+ for(i in pscript.all_checkboxes) {
+ c = pscript.all_checkboxes[i];
+ if(c.perm_type=='submit' && c.checked) {
+ submittable = 1;
+ break;
+ }
+ }
+ if(submittable) {
+ $('#submittable_warning').toggle(true);
+ } else {
+ $('#submittable_warning').toggle(false);
+ }
+}
+
+
// render selects for match
// --------------------------------------------
pscript.PermEngine.prototype.add_match_select = function(r, perms, permt, doctype) {
- var me = this;
-
- // add select for match
- for(var i=0; i'],['Button','OK']]);
- }
- else $i('perm_engine_get_fields').innerHTML = '';
+ if(!pscript.get_field_dialog) {
+ pscript.get_field_dialog = new Dialog(750,500,'Fields');
+ pscript.get_field_dialog.make_body([['HTML','Fields',''],['Button','OK']]);
+ }
+ else $i('perm_engine_get_fields').innerHTML = '';
}
// Get Fields
// --------------------
pscript.PermEngine.prototype.get_fields = function(dt, permlevel) {
- var me = this;
- var callback = function(r,rt){
- // Get Parent DocType Fields
- var parent_fields_dict = r.message.parent_fields_dict;
-
- // Get Child Table Fields if any
- var table_fields_dict = r.message.table_fields_dict;
-
- // Make Fields Dialog Box
- me.make_fields_dialog();
-
- me.make_fields_table(dt, parent_fields_dict, table_fields_dict, permlevel);
-
- pscript.get_field_dialog.show();
- pscript.get_field_dialog.widgets['OK'].onclick=function(){
- pscript.get_field_dialog.hide();
- }
- }
- var args = "{'dt':'"+dt+"','permlevel':"+permlevel+"}"
- $c_obj('Permission Control','get_fields', args, callback);
+ var me = this;
+ var callback = function(r,rt){
+ // Get Parent DocType Fields
+ var parent_fields_dict = r.message.parent_fields_dict;
+
+ // Get Child Table Fields if any
+ var table_fields_dict = r.message.table_fields_dict;
+
+ // Make Fields Dialog Box
+ me.make_fields_dialog();
+
+ me.make_fields_table(dt, parent_fields_dict, table_fields_dict, permlevel);
+
+ pscript.get_field_dialog.show();
+ pscript.get_field_dialog.widgets['OK'].onclick=function(){
+ pscript.get_field_dialog.hide();
+ }
+ }
+ var args = "{'dt':'"+dt+"','permlevel':"+permlevel+"}"
+ $c_obj('Permission Control','get_fields', args, callback);
}
@@ -452,90 +476,90 @@ pscript.PermEngine.prototype.get_fields = function(dt, permlevel) {
// Make Table of Fields for Dialog Box
// --------------------------------------
pscript.PermEngine.prototype.make_fields_table = function(dt, parent_fields_dict, table_fields_dict, permlevel) {
-
- var make_grid = function(table, fields_dict) {
- var col_labels = ['Label','Fieldtype','Fieldname','Options'];
- for(var n = 0; n < col_labels.length; n++){
- $a_input(($td(table,0,n)), 'data');
- $td(table,0,n).innerHTML = ''+col_labels[n]+'';
- $td(table,0,n).fieldname = col_labels[n].toLowerCase();
- }
-
- // Add values
- for(var i = 0; i < keys(fields_dict).length; i++){
- for(var j = 0; j < 4; j++){
- $a_input(($td(table,i+1,j)), 'data');
- $td(table,i+1,j).innerHTML = cstr(fields_dict[i][$td(table,0,j).fieldname])
- }
- }
- }
+
+ var make_grid = function(table, fields_dict) {
+ var col_labels = ['Label','Fieldtype','Fieldname','Options'];
+ for(var n = 0; n < col_labels.length; n++){
+ $a_input(($td(table,0,n)), 'data');
+ $td(table,0,n).innerHTML = ''+col_labels[n]+'';
+ $td(table,0,n).fieldname = col_labels[n].toLowerCase();
+ }
+
+ // Add values
+ for(var i = 0; i < keys(fields_dict).length; i++){
+ for(var j = 0; j < 4; j++){
+ $a_input(($td(table,i+1,j)), 'data');
+ $td(table,i+1,j).innerHTML = cstr(fields_dict[i][$td(table,0,j).fieldname])
+ }
+ }
+ }
-
- $i('perm_engine_get_fields').innerHTML = ''+ dt + ' Fields at Level '+ permlevel +':
';
- var parent_field_table = make_table('perm_engine_get_fields',keys(parent_fields_dict).length+1, 4,'100%',['25%','25%','25%','25%'],{border:'1px solid #AAA',padding:'2px'});
- make_grid(parent_field_table, parent_fields_dict);
-
- child_tables = keys(table_fields_dict)
- if(child_tables.length > 0){
- for(var k = 0; k < child_tables.length; k++){
- var tab_fields_det = table_fields_dict[child_tables[k]];
- if(keys(tab_fields_det).length > 0){
- $i('perm_engine_get_fields').innerHTML += '
'+ child_tables[k] + ' Fields at Level '+ permlevel +':
'
- var child_field_table = make_table('perm_engine_get_fields',keys(tab_fields_det).length+1, 4,'100%',['25%','25%','25%','25%'],{border:'1px solid #AAA',padding:'2px'});
- make_grid(child_field_table, tab_fields_det);
- }
- }
- }
+
+ $i('perm_engine_get_fields').innerHTML = ''+ dt + ' Fields at Level '+ permlevel +':
';
+ var parent_field_table = make_table('perm_engine_get_fields',keys(parent_fields_dict).length+1, 4,'100%',['25%','25%','25%','25%'],{border:'1px solid #AAA',padding:'2px'});
+ make_grid(parent_field_table, parent_fields_dict);
+
+ child_tables = keys(table_fields_dict)
+ if(child_tables.length > 0){
+ for(var k = 0; k < child_tables.length; k++){
+ var tab_fields_det = table_fields_dict[child_tables[k]];
+ if(keys(tab_fields_det).length > 0){
+ $i('perm_engine_get_fields').innerHTML += '
'+ child_tables[k] + ' Fields at Level '+ permlevel +':
'
+ var child_field_table = make_table('perm_engine_get_fields',keys(tab_fields_det).length+1, 4,'100%',['25%','25%','25%','25%'],{border:'1px solid #AAA',padding:'2px'});
+ make_grid(child_field_table, tab_fields_det);
+ }
+ }
+ }
}
// Update Permissions
// -----------------------
pscript.PermEngine.prototype.update_permissions = function() {
- var me = this;
- var out = {};
+ var me = this;
+ var out = {};
- var add_to_out = function(doctype, permlevel, role, key, value) {
- if(!out[doctype]) out[doctype] = {};
- if(!out[doctype][permlevel]) out[doctype][permlevel] = {};
- if(!out[doctype][permlevel][role]) out[doctype][permlevel][role] = {};
- out[doctype][permlevel][role][key] = value;
- }
+ var add_to_out = function(doctype, permlevel, role, key, value) {
+ if(!out[doctype]) out[doctype] = {};
+ if(!out[doctype][permlevel]) out[doctype][permlevel] = {};
+ if(!out[doctype][permlevel][role]) out[doctype][permlevel][role] = {};
+ out[doctype][permlevel][role][key] = value;
+ }
- // check boxes
- for(i in pscript.all_checkboxes) {
- c = pscript.all_checkboxes[i];
- add_to_out(c.doctype, c.permlevel, c.role, c.perm_type, c.checked ? 1 : 0);
- }
-
- // matches
- for(var i=0; iTeam / Messages');
- $('.navbar .pull-right').prepend('\
- ');
+ $('.navbar .pull-right').append('\
+ ');
// help
- $('.navbar .pull-right').append('\
+ $('.navbar .pull-right').prepend('\
Help\
\
- ').insertAfter('li[data-name="navbar-home"]');
+ ').prependTo('.navbar .nav:first');
$('.navbar .nav:first')
}
diff --git a/erpnext/support/doctype/support_ticket/support_ticket.css b/erpnext/support/doctype/support_ticket/support_ticket.css
new file mode 100644
index 00000000000..8d563a726be
--- /dev/null
+++ b/erpnext/support/doctype/support_ticket/support_ticket.css
@@ -0,0 +1,8 @@
+.support-ticket-wrapper {
+ margin-top: 10px;
+}
+
+.support-ticket-title {
+ padding: 5px;
+ border-bottom: 1px solid black;
+}
diff --git a/js/all-app.js b/js/all-app.js
index d9129db5c38..b6cf87c2e60 100644
--- a/js/all-app.js
+++ b/js/all-app.js
@@ -353,7 +353,7 @@ function add_sel_options(s,list,sel_val,o_style){if(s.custom_select){s.set_optio
if(sel_val)s.inp.value=sel_val;return;}
if(s.inp)s=s.inp;for(var i=0,len=list.length;i\
+wn.ui.toolbar.Toolbar=Class.extend({init:function(){this.make();this.make_home();this.make_document();wn.ui.toolbar.recent=new wn.ui.toolbar.RecentDocs();this.make_tools();this.set_user_name();this.make_logout();$('.dropdown-toggle').dropdown();$(document).trigger('toolbar_setup');},make:function(){$('header').append('\
\
\
\
@@ -1336,8 +1336,7 @@ wn.ui.toolbar.Toolbar=Class.extend({init:function(){this.make();this.make_home()
\
\
\
-
');},make_home:function(){$('.navbar .nav:first').append('\
- Home');$('.navbar .brand').attr('href',"#!"+home_page);},make_document:function(){wn.ui.toolbar.new_dialog=new wn.ui.toolbar.NewDialog();wn.ui.toolbar.search=new wn.ui.toolbar.Search();wn.ui.toolbar.report=new wn.ui.toolbar.Report();$('.navbar .nav:first').append('\
+ ');},make_home:function(){$('.navbar .brand').attr('href',"#!"+home_page);},make_document:function(){wn.ui.toolbar.new_dialog=new wn.ui.toolbar.NewDialog();wn.ui.toolbar.search=new wn.ui.toolbar.Search();wn.ui.toolbar.report=new wn.ui.toolbar.Report();$('.navbar .nav:first').append('\
Document\
\
');if(has_common(user_roles,['Administrator','System Manager'])){$('#toolbar-tools').append('\
- Download Backup');}},make_apps:function(){$('.navbar .nav:first').append('\
- Apps\
- \
- ');},set_user_name:function(){var fn=user_fullname;if(fn.length>15)fn=fn.substr(0,12)+'...';$('#toolbar-user-link').html(fn+'');},make_logout:function(){$('#toolbar-user').append('Logout');}});wn.ui.toolbar.clear_cache=function(){localStorage&&localStorage.clear();$c('webnotes.session_cache.clear',{},function(r,rt){show_alert(r.message);});return false;}
+ Download Backup');}},set_user_name:function(){var fn=user_fullname;if(fn.length>15)fn=fn.substr(0,12)+'...';$('#toolbar-user-link').html(fn+'');},make_logout:function(){$('#toolbar-user').append('Logout');}});wn.ui.toolbar.clear_cache=function(){localStorage&&localStorage.clear();$c('webnotes.session_cache.clear',{},function(r,rt){show_alert(r.message);});return false;}
wn.ui.toolbar.download_backup=function(){$c('webnotes.utils.backups.get_backup',{},function(r,rt){});return false;}
wn.ui.toolbar.show_about=function(){try{wn.require('lib/js/wn/misc/about.js');wn.ui.misc.about();}catch(e){console.log(e);}
return false;}
@@ -2197,7 +2187,7 @@ get_window_height=function(){var ht=window.innerHeight?window.innerHeight:docume
* js/app.js
*/
wn.app={name:'ERPNext',license:'GNU/GPL - Usage Condition: All "erpnext" branding must be kept as it is',source:'https://github.com/webnotes/erpnext',publisher:'Web Notes Technologies Pvt Ltd, Mumbai',copyright:'© Web Notes Technologies Pvt Ltd',version:'2.'+window._version_number}
-wn.modules_path='erpnext';wn.settings.no_history=true;$(document).bind('ready',function(){startup();});$(document).bind('toolbar_setup',function(){$('.brand').html('erpnext');})
+wn.modules_path='erpnext';wn.settings.no_history=true;$(document).bind('ready',function(){startup();});$(document).bind('toolbar_setup',function(){$('.brand').html('erpnext ');})
/*
* erpnext/startup/startup.js
*/
@@ -2231,8 +2221,8 @@ erpnext.module_page.make_list=function(module,wrapper){wrapper.list=new wn.widge
/*
* erpnext/startup/toolbar.js
*/
-wn.provide('erpnext.toolbar');erpnext.toolbar.setup=function(){erpnext.toolbar.add_modules();$('#toolbar-user').append('Profile Settings');$('#toolbar-user').append('Team / Messages');$('.navbar .pull-right').prepend('\
- ');$('.navbar .pull-right').append('\
+wn.provide('erpnext.toolbar');erpnext.toolbar.setup=function(){erpnext.toolbar.add_modules();$('#toolbar-user').append('Profile Settings');$('#toolbar-user').append('Team / Messages');$('.navbar .pull-right').append('\
+ ');$('.navbar .pull-right').prepend('\
Help\
\
- ').insertAfter('li[data-name="navbar-home"]');$('.navbar .nav:first')}
+ ').prependTo('.navbar .nav:first');$('.navbar .nav:first')}
/*
* erpnext/startup/feature_setup.js
*/
diff --git a/js/all-web.js b/js/all-web.js
index 3dd2c621839..53cb33a1a32 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -279,7 +279,7 @@ function add_sel_options(s,list,sel_val,o_style){if(s.custom_select){s.set_optio
if(sel_val)s.inp.value=sel_val;return;}
if(s.inp)s=s.inp;for(var i=0,len=list.length;ierpnext');})
+wn.modules_path='erpnext';wn.settings.no_history=true;$(document).bind('ready',function(){startup();});$(document).bind('toolbar_setup',function(){$('.brand').html('erpnext ');})
/*
* erpnext/startup/startup.js
*/
diff --git a/js/app.js b/js/app.js
index 3e6fa5bcc0e..67f900f2bbf 100644
--- a/js/app.js
+++ b/js/app.js
@@ -31,5 +31,5 @@ $(document).bind('ready', function() {
});
$(document).bind('toolbar_setup', function() {
- $('.brand').html('erpnext');
-})
\ No newline at end of file
+ $('.brand').html('erpnext ');
+})
diff --git a/version.num b/version.num
index fc67739109c..ddc27b0c1a3 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-719
\ No newline at end of file
+739
\ No newline at end of file