Merge branch 'master' of github.com:webnotes/erpnext

This commit is contained in:
Rushabh Mehta 2012-11-14 11:53:54 +01:00
commit 24c34dbc21
4 changed files with 352 additions and 366 deletions

View File

@ -1,5 +1,6 @@
erpnext.updates = [ erpnext.updates = [
["14th November 2012", [ ["14th November 2012", [
"Employee: If User ID is set, Employee Name will be updated in defaults and will appear automatically in all relevant forms.",
"Backups: Link to download both database and files.", "Backups: Link to download both database and files.",
]], ]],
["13th November 2012", [ ["13th November 2012", [

View File

@ -8,60 +8,59 @@
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>. // along with this program. If not, see <http://www.gnu.org/licenses/>.
cur_frm.cscript.onload = function(doc) {
// bc
var india_specific = ["esic_card_no", "gratuity_lic_id", "pan_number", "pf_number"]
if(wn.control_panel.country!="India") {
hide_field(india_specific);
}
}
cur_frm.cscript.refresh = function(doc) {
if(!doc.__islocal) {
hide_field("naming_series");
cur_frm.add_custom_button('Make Salary Structure', cur_frm.cscript['Make Salary Structure']);
}
}
// get retirement date
//========================================================
cur_frm.cscript.date_of_birth = function(doc, dt, dn) { cur_frm.cscript.date_of_birth = function(doc, dt, dn) {
get_server_fields('get_retirement_date','','',doc,dt,dn,1); get_server_fields('get_retirement_date','','',doc,dt,dn,1);
} }
// salutation-gender
//========================================================
cur_frm.cscript.salutation = function(doc,dt,dn) { cur_frm.cscript.salutation = function(doc,dt,dn) {
if(doc.salutation){ if(doc.salutation){
if(doc.salutation=='Mr') if(doc.salutation=='Mr')
doc.gender='Male'; doc.gender='Male';
else if(doc.salutation=='Ms') else if(doc.salutation=='Ms')
doc.gender='Female'; doc.gender='Female';
refresh_field('gender'); refresh_field('gender');
} }
} }
// On refresh
//========================================================
cur_frm.cscript.refresh = function(doc, dt, dn) {
if(doc.__islocal!=1){
cur_frm.add_custom_button('Make Salary Structure', cur_frm.cscript['Make Salary Structure']);
}
}
//Make Salary Structure
//========================================================
cur_frm.cscript['Make Salary Structure']=function(){ cur_frm.cscript['Make Salary Structure']=function(){
$c_obj(make_doclist (doc.doctype,doc.name),'check_sal_structure',cur_frm.doc.name,function(r, rt) { $c_obj(make_doclist (doc.doctype,doc.name),'check_sal_structure',cur_frm.doc.name,function(r, rt) {
if(r.message) if(r.message)
alert("You have already created Active salary structure.\nIf you want to create new one, please ensure that no active salary structure exist.\nTo inactive salary structure select 'Is Active' as 'No'."); alert("You have already created Active salary structure.\nIf you want to create new one, please ensure that no active salary structure exist.\nTo inactive salary structure select 'Is Active' as 'No'.");
else else
cur_frm.cscript.make_salary_structure(cur_frm.doc); cur_frm.cscript.make_salary_structure(cur_frm.doc);
}); });
} }
// Load sal structure
//========================================================
cur_frm.cscript.make_salary_structure = function(doc,dt,dn,det){ cur_frm.cscript.make_salary_structure = function(doc,dt,dn,det){
var st = LocalDB.create('Salary Structure'); var st = LocalDB.create('Salary Structure');
st = locals['Salary Structure'][st]; st = locals['Salary Structure'][st];
st.employee = doc.name; st.employee = doc.name;
st.employee_name = doc.employee_name; st.employee_name = doc.employee_name;
st.branch=doc.branch; st.branch=doc.branch;
st.designation=doc.designation; st.designation=doc.designation;
st.department=doc.department; st.department=doc.department;
st.fiscal_year = doc.fiscal_year st.fiscal_year = doc.fiscal_year
st.grade=doc.grade; st.grade=doc.grade;
loaddoc('Salary Structure', st.name); loaddoc('Salary Structure', st.name);
} }

View File

@ -8,128 +8,112 @@
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import unicode_literals from __future__ import unicode_literals
import webnotes import webnotes
from webnotes.utils import add_days, add_months, add_years, cint, cstr, date_diff, default_fields, flt, fmt_money, formatdate, getTraceback, get_defaults, get_first_day, get_last_day, getdate, has_common, month_name, now, nowdate, replace_newlines, sendmail, set_default, str_esc_quote, user_format, validate_email_add from webnotes.utils import getdate, now, nowdate, validate_email_add
from webnotes.model import db_exists from webnotes.model.doc import make_autoname
from webnotes.model.doc import Document, addchild, getchildren, make_autoname from webnotes import msgprint
from webnotes.model.doclist import getlist, copy_doclist
from webnotes.model.code import get_obj, get_server_obj, run_server_obj, updatedb, check_syntax
from webnotes import session, form, msgprint, errprint
sql = webnotes.conn.sql sql = webnotes.conn.sql
get_value = webnotes.conn.get_value
in_transaction = webnotes.conn.in_transaction
convert_to_lists = webnotes.conn.convert_to_lists
# -----------------------------------------------------------------------------------------
class DocType: class DocType:
def __init__(self,doc,doclist=[]): def __init__(self,doc,doclist=[]):
self.doc = doc self.doc = doc
self.doclist = doclist self.doclist = doclist
# Autoname def autoname(self):
#======================================================================================================== ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
def autoname(self): if not ret:
ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'") msgprint("Please setup Employee Naming System in Setup > Global Defaults > HR", raise_exception=True)
if not ret: else:
msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.") if ret[0][0]=='Naming Series':
raise Exception self.doc.name = make_autoname(self.doc.naming_series + '.####')
else: elif ret[0][0]=='Employee Number':
if ret[0][0]=='Naming Series': self.doc.name = make_autoname(self.doc.employee_number)
self.doc.name = make_autoname(self.doc.naming_series + '.####')
elif ret[0][0]=='Employee Number': def get_retirement_date(self):
self.doc.name = make_autoname(self.doc.employee_number) import datetime
ret = {}
# Get retirement date if self.doc.date_of_birth:
#======================================================================================================== dt = getdate(self.doc.date_of_birth) + datetime.timedelta(21915)
def get_retirement_date(self): ret = {'date_of_retirement': dt.strftime('%Y-%m-%d')}
import datetime return ret
ret = {}
if self.doc.date_of_birth:
dt = getdate(self.doc.date_of_birth) + datetime.timedelta(21915)
ret = {'date_of_retirement': dt.strftime('%Y-%m-%d')}
return ret
# check if salary structure exists def check_sal_structure(self, nm):
#======================================================================================================== ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes' and docstatus!= 2"%nm)
def check_sal_structure(self, nm): return ret_sal_struct and ret_sal_struct[0][0] or ''
ret_sal_struct=sql("select name from `tabSalary Structure` where employee='%s' and is_active = 'Yes' and docstatus!= 2"%nm)
return ret_sal_struct and ret_sal_struct[0][0] or ''
#======================================================================================================== def validate(self):
def validate(self): self.validate_date()
self.validate_date() self.validate_email()
self.validate_email() self.validate_name()
self.validate_name() self.validate_status()
self.validate_status()
def on_update(self):
# Validate dates self.update_user_default()
#========================================================================================================
def validate_date(self): def update_user_default(self):
import datetime if self.doc.user_id:
if self.doc.date_of_birth and self.doc.date_of_joining and getdate(self.doc.date_of_birth) >= getdate(self.doc.date_of_joining): webnotes.conn.set_default("employee", self.doc.name, self.doc.user_id)
msgprint('Date of Joining must be greater than Date of Birth') webnotes.conn.set_default("employee_name", self.doc.employee_name, self.doc.user_id)
raise Exception webnotes.conn.set_default("company", self.doc.company, self.doc.user_id)
def validate_date(self):
import datetime
if self.doc.date_of_birth and self.doc.date_of_joining and getdate(self.doc.date_of_birth) >= getdate(self.doc.date_of_joining):
msgprint('Date of Joining must be greater than Date of Birth')
raise Exception
elif self.doc.scheduled_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.scheduled_confirmation_date) < getdate(self.doc.date_of_joining)): elif self.doc.scheduled_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.scheduled_confirmation_date) < getdate(self.doc.date_of_joining)):
msgprint('Scheduled Confirmation Date must be greater than Date of Joining') msgprint('Scheduled Confirmation Date must be greater than Date of Joining')
raise Exception raise Exception
elif self.doc.final_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.final_confirmation_date) < getdate(self.doc.date_of_joining)): elif self.doc.final_confirmation_date and self.doc.date_of_joining and (getdate(self.doc.final_confirmation_date) < getdate(self.doc.date_of_joining)):
msgprint('Final Confirmation Date must be greater than Date of Joining') msgprint('Final Confirmation Date must be greater than Date of Joining')
raise Exception raise Exception
elif self.doc.date_of_retirement and self.doc.date_of_joining and (getdate(self.doc.date_of_retirement) <= getdate(self.doc.date_of_joining)): elif self.doc.date_of_retirement and self.doc.date_of_joining and (getdate(self.doc.date_of_retirement) <= getdate(self.doc.date_of_joining)):
msgprint('Date Of Retirement must be greater than Date of Joining') msgprint('Date Of Retirement must be greater than Date of Joining')
raise Exception raise Exception
elif self.doc.relieving_date and self.doc.date_of_joining and (getdate(self.doc.relieving_date) <= getdate(self.doc.date_of_joining)): elif self.doc.relieving_date and self.doc.date_of_joining and (getdate(self.doc.relieving_date) <= getdate(self.doc.date_of_joining)):
msgprint('Relieving Date must be greater than Date of Joining') msgprint('Relieving Date must be greater than Date of Joining')
raise Exception raise Exception
elif self.doc.contract_end_date and self.doc.date_of_joining and (getdate(self.doc.contract_end_date)<=getdate(self.doc.date_of_joining)): elif self.doc.contract_end_date and self.doc.date_of_joining and (getdate(self.doc.contract_end_date)<=getdate(self.doc.date_of_joining)):
msgprint('Contract End Date must be greater than Date of Joining') msgprint('Contract End Date must be greater than Date of Joining')
raise Exception raise Exception
# Validate email id def validate_email(self):
#======================================================================================================== if self.doc.company_email and not validate_email_add(self.doc.company_email):
def validate_email(self): msgprint("Please enter valid Company Email")
if self.doc.company_email and not validate_email_add(self.doc.company_email): raise Exception
msgprint("Please enter valid Company Email") if self.doc.personal_email and not validate_email_add(self.doc.personal_email):
raise Exception msgprint("Please enter valid Personal Email")
if self.doc.personal_email and not validate_email_add(self.doc.personal_email): raise Exception
msgprint("Please enter valid Personal Email")
raise Exception
# Validate name def validate_name(self):
#======================================================================================================== ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
def validate_name(self):
ret = sql("select value from `tabSingles` where doctype = 'Global Defaults' and field = 'emp_created_by'")
if not ret: if not ret:
msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.") msgprint("To Save Employee, please go to Setup -->Global Defaults. Click on HR and select 'Employee Records to be created by'.")
raise Exception raise Exception
else: else:
if ret[0][0]=='Naming Series' and not self.doc.naming_series: if ret[0][0]=='Naming Series' and not self.doc.naming_series:
msgprint("Please select Naming Series.") msgprint("Please select Naming Series.")
raise Exception raise Exception
elif ret[0][0]=='Employee Number' and not self.doc.employee_number: elif ret[0][0]=='Employee Number' and not self.doc.employee_number:
msgprint("Please enter Employee Number.") msgprint("Please enter Employee Number.")
raise Exception raise Exception
# Validate status def validate_status(self):
#======================================================================================================== if self.doc.status == 'Left' and not self.doc.relieving_date:
def validate_status(self): msgprint("Please enter relieving date.")
if self.doc.status == 'Left' and not self.doc.relieving_date: raise Exception
msgprint("Please enter relieving date.")
raise Exception

View File

@ -3,11 +3,11 @@
# These values are common in all dictionaries # These values are common in all dictionaries
{ {
'creation': '2012-03-27 14:35:55', u'creation': '2012-07-03 13:30:40',
'docstatus': 0, u'docstatus': 0,
'modified': '2012-03-27 14:35:55', u'modified': '2012-11-14 16:12:10',
'modified_by': u'Administrator', u'modified_by': u'Administrator',
'owner': u'Administrator' u'owner': u'Administrator'
}, },
# These values are common for all DocType # These values are common for all DocType
@ -16,23 +16,23 @@
'allow_attach': 1, 'allow_attach': 1,
'allow_trash': 1, 'allow_trash': 1,
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': 'DocType', u'doctype': u'DocType',
'document_type': u'Master', 'document_type': u'Master',
'module': u'HR', 'module': u'HR',
'name': '__common__', u'name': u'__common__',
'search_fields': u'employee_name', 'search_fields': u'employee_name',
'section_style': u'Tabbed', 'section_style': u'Tabbed',
'server_code_error': u' ', 'server_code_error': u' ',
'show_in_menu': 0, 'show_in_menu': 0,
'subject': u'%(employee_name)s', 'subject': u'%(employee_name)s',
'tag_fields': u'status', 'tag_fields': u'status',
'version': 444 'version': 1
}, },
# These values are common for all DocField # These values are common for all DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'name': '__common__', u'name': u'__common__',
'parent': u'Employee', 'parent': u'Employee',
'parentfield': u'fields', 'parentfield': u'fields',
'parenttype': u'DocType' 'parenttype': u'DocType'
@ -40,8 +40,8 @@
# These values are common for all DocPerm # These values are common for all DocPerm
{ {
'doctype': u'DocPerm', u'doctype': u'DocPerm',
'name': '__common__', u'name': u'__common__',
'parent': u'Employee', 'parent': u'Employee',
'parentfield': u'permissions', 'parentfield': u'permissions',
'parenttype': u'DocType', 'parenttype': u'DocType',
@ -50,102 +50,13 @@
# DocType, Employee # DocType, Employee
{ {
'doctype': 'DocType', u'doctype': u'DocType',
'name': u'Employee' u'name': u'Employee'
},
# DocPerm
{
'doctype': u'DocPerm',
'permlevel': 1,
'role': u'All'
},
# DocPerm
{
'cancel': 1,
'create': 1,
'doctype': u'DocPerm',
'permlevel': 0,
'role': u'HR User',
'write': 1
},
# DocPerm
{
'cancel': 1,
'create': 1,
'doctype': u'DocPerm',
'permlevel': 0,
'role': u'HR Manager',
'write': 1
},
# DocPerm
{
'doctype': u'DocPerm',
'permlevel': 1,
'role': u'HR User'
},
# DocPerm
{
'doctype': u'DocPerm',
'permlevel': 1,
'role': u'HR Manager'
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': u'DocPerm',
'match': u'owner',
'permlevel': 0,
'submit': 0,
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': u'DocPerm',
'match': u'owner',
'permlevel': 0,
'submit': 0,
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': u'DocPerm',
'match': u'owner',
'permlevel': 0,
'submit': 0,
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': u'DocPerm',
'match': u'owner',
'permlevel': 0,
'submit': 0,
'write': 0
}, },
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'basic_information', 'fieldname': u'basic_information',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Basic Information', 'label': u'Basic Information',
@ -155,7 +66,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break0', 'fieldname': u'column_break0',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0,
@ -164,8 +75,9 @@
# DocField # DocField
{ {
'description': u'To manage multiple series please go to Setup > Manage Series', 'colour': u'White:FFF',
'doctype': u'DocField', 'description': u'<span class="sys_manager">To setup, please go to Setup > Naming Series</span>',
u'doctype': u'DocField',
'fieldname': u'naming_series', 'fieldname': u'naming_series',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Naming Series', 'label': u'Naming Series',
@ -180,7 +92,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'salutation', 'fieldname': u'salutation',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Salutation', 'label': u'Salutation',
@ -195,10 +107,10 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'employee_name', 'fieldname': u'employee_name',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Employee Name', 'label': u'Full Name',
'oldfieldname': u'employee_name', 'oldfieldname': u'employee_name',
'oldfieldtype': u'Data', 'oldfieldtype': u'Data',
'permlevel': 0, 'permlevel': 0,
@ -207,7 +119,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'employee_number', 'fieldname': u'employee_number',
'fieldtype': u'Data', 'fieldtype': u'Data',
'in_filter': 1, 'in_filter': 1,
@ -221,7 +133,28 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', 'description': u'System User (login) ID. If set, it will become default for all HR forms.',
u'doctype': u'DocField',
'fieldname': u'user_id',
'fieldtype': u'Link',
'label': u'User ID',
'options': u'Profile',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'column_break1',
'fieldtype': u'Column Break',
'permlevel': 0,
'width': u'50%'
},
# DocField
{
'colour': u'White:FFF',
u'doctype': u'DocField',
'fieldname': u'date_of_joining', 'fieldname': u'date_of_joining',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Date of Joining', 'label': u'Date of Joining',
@ -234,7 +167,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'date_of_birth', 'fieldname': u'date_of_birth',
'fieldtype': u'Date', 'fieldtype': u'Date',
'in_filter': 1, 'in_filter': 1,
@ -249,7 +182,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'gender', 'fieldname': u'gender',
'fieldtype': u'Select', 'fieldtype': u'Select',
'in_filter': 1, 'in_filter': 1,
@ -264,7 +197,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'company', 'fieldname': u'company',
'fieldtype': u'Select', 'fieldtype': u'Select',
'in_filter': 1, 'in_filter': 1,
@ -277,18 +210,26 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break1', 'fieldname': u'employment_details',
'fieldtype': u'Section Break',
'label': u'Employment Details',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'col_break_21',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0
'width': u'50%'
}, },
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'default': u'Active', 'default': u'Active',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'status', 'fieldname': u'status',
'fieldtype': u'Select', 'fieldtype': u'Select',
'in_filter': 1, 'in_filter': 1,
@ -303,7 +244,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'employment_type', 'fieldname': u'employment_type',
'fieldtype': u'Link', 'fieldtype': u'Link',
'in_filter': 1, 'in_filter': 1,
@ -317,7 +258,29 @@
# DocField # DocField
{ {
'doctype': u'DocField', 'colour': u'White:FFF',
'description': u'Applicable Holiday List',
u'doctype': u'DocField',
'fieldname': u'holiday_list',
'fieldtype': u'Link',
'label': u'Holiday List',
'oldfieldname': u'holiday_list',
'oldfieldtype': u'Link',
'options': u'Holiday List',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'col_break_22',
'fieldtype': u'Column Break',
'permlevel': 0
},
# DocField
{
u'doctype': u'DocField',
'fieldname': u'scheduled_confirmation_date', 'fieldname': u'scheduled_confirmation_date',
'fieldtype': u'Date', 'fieldtype': u'Date',
'in_filter': 1, 'in_filter': 1,
@ -330,7 +293,8 @@
# DocField # DocField
{ {
'doctype': u'DocField', 'colour': u'White:FFF',
u'doctype': u'DocField',
'fieldname': u'final_confirmation_date', 'fieldname': u'final_confirmation_date',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Final Confirmation Date', 'label': u'Final Confirmation Date',
@ -342,7 +306,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'contract_end_date', 'fieldname': u'contract_end_date',
'fieldtype': u'Date', 'fieldtype': u'Date',
'in_filter': 1, 'in_filter': 1,
@ -355,7 +319,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'date_of_retirement', 'fieldname': u'date_of_retirement',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Date Of Retirement', 'label': u'Date Of Retirement',
@ -366,21 +330,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', u'doctype': u'DocField',
'description': u'Applicable Holiday List',
'doctype': u'DocField',
'fieldname': u'holiday_list',
'fieldtype': u'Link',
'label': u'Holiday List',
'oldfieldname': u'holiday_list',
'oldfieldtype': u'Link',
'options': u'Holiday List',
'permlevel': 0
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'job_profile', 'fieldname': u'job_profile',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Job Profile', 'label': u'Job Profile',
@ -389,7 +339,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break2', 'fieldname': u'column_break2',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0,
@ -399,7 +349,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'branch', 'fieldname': u'branch',
'fieldtype': u'Link', 'fieldtype': u'Link',
'in_filter': 1, 'in_filter': 1,
@ -414,7 +364,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'department', 'fieldname': u'department',
'fieldtype': u'Link', 'fieldtype': u'Link',
'in_filter': 1, 'in_filter': 1,
@ -429,7 +379,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'designation', 'fieldname': u'designation',
'fieldtype': u'Link', 'fieldtype': u'Link',
'in_filter': 1, 'in_filter': 1,
@ -445,7 +395,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'grade', 'fieldname': u'grade',
'fieldtype': u'Link', 'fieldtype': u'Link',
'in_filter': 1, 'in_filter': 1,
@ -459,7 +409,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'reports_to', 'fieldname': u'reports_to',
'fieldtype': u'Link', 'fieldtype': u'Link',
'label': u'Reports to', 'label': u'Reports to',
@ -472,7 +422,7 @@
# DocField # DocField
{ {
'description': u'Provide email id registered in company', 'description': u'Provide email id registered in company',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'company_email', 'fieldname': u'company_email',
'fieldtype': u'Data', 'fieldtype': u'Data',
'in_filter': 1, 'in_filter': 1,
@ -485,7 +435,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'salary_information', 'fieldname': u'salary_information',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'label': u'Salary Information', 'label': u'Salary Information',
@ -497,7 +447,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'salary_mode', 'fieldname': u'salary_mode',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Salary Mode', 'label': u'Salary Mode',
@ -512,7 +462,7 @@
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'depends_on': u"eval:doc.salary_mode == 'Bank'", 'depends_on': u"eval:doc.salary_mode == 'Bank'",
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'bank_name', 'fieldname': u'bank_name',
'fieldtype': u'Data', 'fieldtype': u'Data',
'hidden': 0, 'hidden': 0,
@ -528,7 +478,7 @@
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'depends_on': u"eval:doc.salary_mode == 'Bank'", 'depends_on': u"eval:doc.salary_mode == 'Bank'",
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'bank_ac_no', 'fieldname': u'bank_ac_no',
'fieldtype': u'Data', 'fieldtype': u'Data',
'hidden': 0, 'hidden': 0,
@ -540,7 +490,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'esic_card_no', 'fieldname': u'esic_card_no',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'ESIC CARD No', 'label': u'ESIC CARD No',
@ -551,7 +501,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'pf_number', 'fieldname': u'pf_number',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'PF Number', 'label': u'PF Number',
@ -562,7 +512,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'gratuity_lic_id', 'fieldname': u'gratuity_lic_id',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Gratuity LIC ID', 'label': u'Gratuity LIC ID',
@ -573,7 +523,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'contact_details', 'fieldname': u'contact_details',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Contact Details', 'label': u'Contact Details',
@ -582,7 +532,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break3', 'fieldname': u'column_break3',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0,
@ -591,7 +541,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'cell_number', 'fieldname': u'cell_number',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Cell Number', 'label': u'Cell Number',
@ -600,7 +550,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'personal_email', 'fieldname': u'personal_email',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Personal Email', 'label': u'Personal Email',
@ -609,7 +559,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'notice_number_of_days', 'fieldname': u'notice_number_of_days',
'fieldtype': u'Int', 'fieldtype': u'Int',
'label': u'Notice - Number of Days', 'label': u'Notice - Number of Days',
@ -620,7 +570,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'emergency_contact_details', 'fieldname': u'emergency_contact_details',
'fieldtype': u'HTML', 'fieldtype': u'HTML',
'label': u'Emergency Contact Details', 'label': u'Emergency Contact Details',
@ -630,7 +580,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'person_to_be_contacted', 'fieldname': u'person_to_be_contacted',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Person To Be Contacted', 'label': u'Person To Be Contacted',
@ -639,7 +589,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'relation', 'fieldname': u'relation',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Relation', 'label': u'Relation',
@ -648,7 +598,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'emergency_phone_number', 'fieldname': u'emergency_phone_number',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Emergency Phone Number', 'label': u'Emergency Phone Number',
@ -657,7 +607,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break4', 'fieldname': u'column_break4',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0,
@ -666,7 +616,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'permanent_accommodation_type', 'fieldname': u'permanent_accommodation_type',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Permanent Accommodation Type', 'label': u'Permanent Accommodation Type',
@ -676,7 +626,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'permanent_address', 'fieldname': u'permanent_address',
'fieldtype': u'Small Text', 'fieldtype': u'Small Text',
'label': u'Permanent Address', 'label': u'Permanent Address',
@ -685,7 +635,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'current_accommodation_type', 'fieldname': u'current_accommodation_type',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Current Accommodation Type', 'label': u'Current Accommodation Type',
@ -695,7 +645,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'current_address', 'fieldname': u'current_address',
'fieldtype': u'Small Text', 'fieldtype': u'Small Text',
'label': u'Current Address', 'label': u'Current Address',
@ -704,7 +654,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'personal_details', 'fieldname': u'personal_details',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Personal Details', 'label': u'Personal Details',
@ -713,7 +663,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break5', 'fieldname': u'column_break5',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0,
@ -722,7 +672,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'pan_number', 'fieldname': u'pan_number',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'PAN Number', 'label': u'PAN Number',
@ -731,7 +681,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'passport_number', 'fieldname': u'passport_number',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Passport Number', 'label': u'Passport Number',
@ -740,20 +690,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', u'doctype': u'DocField',
'doctype': u'DocField',
'fieldname': u'employee_profile',
'fieldtype': u'Button',
'hidden': 1,
'label': u'Employee Profile',
'oldfieldtype': u'Button',
'permlevel': 0,
'trigger': u'Client'
},
# DocField
{
'doctype': u'DocField',
'fieldname': u'date_of_issue', 'fieldname': u'date_of_issue',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Date of Issue', 'label': u'Date of Issue',
@ -762,7 +699,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'valid_upto', 'fieldname': u'valid_upto',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Valid Upto', 'label': u'Valid Upto',
@ -772,7 +709,7 @@
# DocField # DocField
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'salary_structure', 'fieldname': u'salary_structure',
'fieldtype': u'Button', 'fieldtype': u'Button',
'hidden': 1, 'hidden': 1,
@ -784,7 +721,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'place_of_issue', 'fieldname': u'place_of_issue',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Place of Issue', 'label': u'Place of Issue',
@ -793,7 +730,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'marital_status', 'fieldname': u'marital_status',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Marital Status', 'label': u'Marital Status',
@ -803,7 +740,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'blood_group', 'fieldname': u'blood_group',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Blood Group', 'label': u'Blood Group',
@ -813,7 +750,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break6', 'fieldname': u'column_break6',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0,
@ -824,7 +761,7 @@
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'description': u'Here you can maintain family details like name and occupation of parent, spouse and children', 'description': u'Here you can maintain family details like name and occupation of parent, spouse and children',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'family_background', 'fieldname': u'family_background',
'fieldtype': u'Small Text', 'fieldtype': u'Small Text',
'label': u'Family Background', 'label': u'Family Background',
@ -835,7 +772,7 @@
{ {
'colour': u'White:FFF', 'colour': u'White:FFF',
'description': u'Here you can maintain height, weight, allergies, medical concerns etc', 'description': u'Here you can maintain height, weight, allergies, medical concerns etc',
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'health_details', 'fieldname': u'health_details',
'fieldtype': u'Small Text', 'fieldtype': u'Small Text',
'label': u'Health Details', 'label': u'Health Details',
@ -844,7 +781,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'educational_qualification', 'fieldname': u'educational_qualification',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Educational Qualification', 'label': u'Educational Qualification',
@ -853,7 +790,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'educational_qualification_details', 'fieldname': u'educational_qualification_details',
'fieldtype': u'Table', 'fieldtype': u'Table',
'label': u'Educational Qualification Details', 'label': u'Educational Qualification Details',
@ -863,7 +800,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'career_history', 'fieldname': u'career_history',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Career History', 'label': u'Career History',
@ -872,7 +809,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'previous_work_experience', 'fieldname': u'previous_work_experience',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Previous Work Experience', 'label': u'Previous Work Experience',
@ -882,7 +819,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'previous_experience_details', 'fieldname': u'previous_experience_details',
'fieldtype': u'Table', 'fieldtype': u'Table',
'label': u'Employee External Work History', 'label': u'Employee External Work History',
@ -892,7 +829,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'history_in_company', 'fieldname': u'history_in_company',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'History In Company', 'label': u'History In Company',
@ -902,7 +839,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'experience_in_company_details', 'fieldname': u'experience_in_company_details',
'fieldtype': u'Table', 'fieldtype': u'Table',
'label': u'Employee Internal Work Historys', 'label': u'Employee Internal Work Historys',
@ -912,7 +849,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'exit', 'fieldname': u'exit',
'fieldtype': u'Section Break', 'fieldtype': u'Section Break',
'label': u'Exit', 'label': u'Exit',
@ -922,7 +859,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'column_break7', 'fieldname': u'column_break7',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'permlevel': 0, 'permlevel': 0,
@ -931,7 +868,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'resignation_letter_date', 'fieldname': u'resignation_letter_date',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Resignation Letter Date', 'label': u'Resignation Letter Date',
@ -942,7 +879,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'relieving_date', 'fieldname': u'relieving_date',
'fieldtype': u'Date', 'fieldtype': u'Date',
'in_filter': 1, 'in_filter': 1,
@ -954,7 +891,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'reason_for_leaving', 'fieldname': u'reason_for_leaving',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'Reason for Leaving', 'label': u'Reason for Leaving',
@ -965,7 +902,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'leave_encashed', 'fieldname': u'leave_encashed',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Leave Encashed?', 'label': u'Leave Encashed?',
@ -977,7 +914,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'encashment_date', 'fieldname': u'encashment_date',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Encashment Date', 'label': u'Encashment Date',
@ -988,7 +925,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'exit_interview_details', 'fieldname': u'exit_interview_details',
'fieldtype': u'Column Break', 'fieldtype': u'Column Break',
'label': u'Exit Interview Details', 'label': u'Exit Interview Details',
@ -1000,7 +937,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'held_on', 'fieldname': u'held_on',
'fieldtype': u'Date', 'fieldtype': u'Date',
'label': u'Held On', 'label': u'Held On',
@ -1011,7 +948,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'reason_for_resignation', 'fieldname': u'reason_for_resignation',
'fieldtype': u'Select', 'fieldtype': u'Select',
'label': u'Reason for Resignation', 'label': u'Reason for Resignation',
@ -1023,7 +960,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'new_workplace', 'fieldname': u'new_workplace',
'fieldtype': u'Data', 'fieldtype': u'Data',
'label': u'New Workplace', 'label': u'New Workplace',
@ -1034,7 +971,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'feedback', 'fieldname': u'feedback',
'fieldtype': u'Small Text', 'fieldtype': u'Small Text',
'label': u'Feedback', 'label': u'Feedback',
@ -1045,7 +982,7 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'file_list', 'fieldname': u'file_list',
'fieldtype': u'Text', 'fieldtype': u'Text',
'hidden': 1, 'hidden': 1,
@ -1056,12 +993,77 @@
# DocField # DocField
{ {
'doctype': u'DocField', u'doctype': u'DocField',
'fieldname': u'trash_reason', 'fieldname': u'trash_reason',
'fieldtype': u'Small Text', 'fieldtype': u'Small Text',
'label': u'Trash Reason', 'label': u'Trash Reason',
'oldfieldname': u'trash_reason', 'oldfieldname': u'trash_reason',
'oldfieldtype': u'Small Text', 'oldfieldtype': u'Small Text',
'permlevel': 1 'permlevel': 1
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
u'doctype': u'DocPerm',
'permlevel': 0,
'role': u'Employee',
'submit': 0,
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
u'doctype': u'DocPerm',
'permlevel': 0,
'role': u'Employee',
'submit': 0,
'write': 0
},
# DocPerm
{
u'doctype': u'DocPerm',
'permlevel': 1,
'role': u'All'
},
# DocPerm
{
'cancel': 1,
'create': 1,
u'doctype': u'DocPerm',
'permlevel': 0,
'role': u'HR User',
'write': 1
},
# DocPerm
{
'cancel': 1,
'create': 1,
u'doctype': u'DocPerm',
'permlevel': 0,
'role': u'HR Manager',
'write': 1
},
# DocPerm
{
u'doctype': u'DocPerm',
'permlevel': 1,
'role': u'HR User'
},
# DocPerm
{
u'doctype': u'DocPerm',
'permlevel': 1,
'role': u'HR Manager'
} }
] ]