commit
519f0f8b0c
@ -47,6 +47,11 @@ def get_data():
|
||||
"name": "Job Opening",
|
||||
"description": _("Opening for a Job."),
|
||||
},
|
||||
{
|
||||
"type": "doctype",
|
||||
"name": "Offer Letter",
|
||||
"description": _("Offer candidate a Job."),
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -5,7 +5,25 @@
|
||||
|
||||
// for communication
|
||||
cur_frm.email_field = "email_id";
|
||||
cur_frm.cscript = {
|
||||
refresh: function(doc) {
|
||||
},
|
||||
}
|
||||
|
||||
frappe.ui.form.on("Job Applicant", {
|
||||
refresh: function(frm) {
|
||||
if (!frm.doc.__islocal) {
|
||||
if (frm.doc.__onload && frm.doc.__onload.offer_letter) {
|
||||
frm.add_custom_button(__("View Offer Letter"), function() {
|
||||
frappe.set_route("Form", "Offer Letter", frm.doc.__onload.offer_letter);
|
||||
});
|
||||
} else {
|
||||
frm.add_custom_button(__("Make Offer Letter"), function() {
|
||||
frappe.route_options = {
|
||||
"job_applicant": frm.doc.name,
|
||||
"applicant_name": frm.doc.applicant_name,
|
||||
"designation": frm.doc.job_opening,
|
||||
};
|
||||
new_doc("Offer Letter");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"autoname": "",
|
||||
"autoname": "JA-.######",
|
||||
"creation": "2013-01-29 19:25:37",
|
||||
"description": "Applicant for a Job",
|
||||
"docstatus": 0,
|
||||
@ -85,5 +85,7 @@
|
||||
"share": 1,
|
||||
"write": 1
|
||||
}
|
||||
]
|
||||
],
|
||||
"search_fields": "applicant_name",
|
||||
"title_field": "applicant_name"
|
||||
}
|
@ -10,6 +10,11 @@ from frappe import _
|
||||
from frappe.utils import comma_and
|
||||
|
||||
class JobApplicant(Document):
|
||||
def onload(self):
|
||||
offer_letter = frappe.get_all("Offer Letter", filters={"job_applicant": self.name})
|
||||
if offer_letter:
|
||||
self.__onload.offer_letter = offer_letter[0].name
|
||||
|
||||
def autoname(self):
|
||||
keys = filter(None, (self.applicant_name, self.email_id))
|
||||
if not keys:
|
||||
|
0
erpnext/hr/doctype/offer_letter/__init__.py
Normal file
0
erpnext/hr/doctype/offer_letter/__init__.py
Normal file
10
erpnext/hr/doctype/offer_letter/offer_letter.js
Normal file
10
erpnext/hr/doctype/offer_letter/offer_letter.js
Normal file
@ -0,0 +1,10 @@
|
||||
// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
// License: GNU General Public License v3. See license.txt
|
||||
|
||||
frappe.ui.form.on("Offer Letter", {
|
||||
select_terms: function(frm) {
|
||||
frappe.model.get_value("Terms and Conditions", frm.doc.select_terms, "terms", function(value) {
|
||||
frm.set_value("terms", value.terms);
|
||||
});
|
||||
}
|
||||
});
|
193
erpnext/hr/doctype/offer_letter/offer_letter.json
Normal file
193
erpnext/hr/doctype/offer_letter/offer_letter.json
Normal file
@ -0,0 +1,193 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_import": 1,
|
||||
"allow_rename": 0,
|
||||
"autoname": "Offer-.#####",
|
||||
"creation": "2015-03-04 14:20:17.662207",
|
||||
"custom": 0,
|
||||
"default_print_format": "Offer Letter",
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "Transaction",
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"fieldname": "job_applicant",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Job Applicant",
|
||||
"no_copy": 0,
|
||||
"options": "Job Applicant",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0
|
||||
},
|
||||
{
|
||||
"fieldname": "applicant_name",
|
||||
"fieldtype": "Data",
|
||||
"label": "Applicant Name",
|
||||
"options": "job_applicant.applicant_name",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"read_only": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_3",
|
||||
"fieldtype": "Column Break",
|
||||
"permlevel": 0,
|
||||
"precision": ""
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 1,
|
||||
"fieldname": "status",
|
||||
"fieldtype": "Select",
|
||||
"label": "Status",
|
||||
"options": "Awaiting Response\nAccepted\nRejected ",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 1
|
||||
},
|
||||
{
|
||||
"default": "",
|
||||
"fieldname": "offer_date",
|
||||
"fieldtype": "Date",
|
||||
"label": "Offer Date",
|
||||
"permlevel": 0,
|
||||
"precision": ""
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"fieldname": "designation",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Designation",
|
||||
"no_copy": 0,
|
||||
"options": "Designation",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0
|
||||
},
|
||||
{
|
||||
"fieldname": "company",
|
||||
"fieldtype": "Link",
|
||||
"label": "Company",
|
||||
"options": "Company",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "section_break_4",
|
||||
"fieldtype": "Section Break",
|
||||
"permlevel": 0,
|
||||
"precision": ""
|
||||
},
|
||||
{
|
||||
"fieldname": "offer_terms",
|
||||
"fieldtype": "Table",
|
||||
"label": "Offer Letter Terms",
|
||||
"options": "Offer Letter Term",
|
||||
"permlevel": 0,
|
||||
"precision": ""
|
||||
},
|
||||
{
|
||||
"fieldname": "section_break_14",
|
||||
"fieldtype": "Section Break",
|
||||
"permlevel": 0,
|
||||
"precision": ""
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"fieldname": "select_terms",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Select Terms and Conditions",
|
||||
"no_copy": 0,
|
||||
"options": "Terms and Conditions",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0
|
||||
},
|
||||
{
|
||||
"fieldname": "terms",
|
||||
"fieldtype": "Text Editor",
|
||||
"label": "Terms and Conditions",
|
||||
"options": "",
|
||||
"permlevel": 0,
|
||||
"precision": ""
|
||||
},
|
||||
{
|
||||
"fieldname": "amended_from",
|
||||
"fieldtype": "Link",
|
||||
"label": "Amended From",
|
||||
"no_copy": 1,
|
||||
"options": "Offer Letter",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1,
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"in_create": 0,
|
||||
"in_dialog": 0,
|
||||
"is_submittable": 1,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"modified": "2015-04-01 05:51:39.841591",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Offer Letter",
|
||||
"name_case": "",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"amend": 1,
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
"export": 1,
|
||||
"import": 1,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "HR User",
|
||||
"share": 1,
|
||||
"submit": 1,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"title_field": "applicant_name"
|
||||
}
|
9
erpnext/hr/doctype/offer_letter/offer_letter.py
Normal file
9
erpnext/hr/doctype/offer_letter/offer_letter.py
Normal file
@ -0,0 +1,9 @@
|
||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
|
||||
class OfferLetter(Document):
|
||||
pass
|
11
erpnext/hr/doctype/offer_letter/test_offer_letter.py
Normal file
11
erpnext/hr/doctype/offer_letter/test_offer_letter.py
Normal file
@ -0,0 +1,11 @@
|
||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
||||
# See license.txt
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
import unittest
|
||||
|
||||
# test_records = frappe.get_test_records('Offer Letter')
|
||||
|
||||
class TestOfferLetter(unittest.TestCase):
|
||||
pass
|
0
erpnext/hr/doctype/offer_letter_term/__init__.py
Normal file
0
erpnext/hr/doctype/offer_letter_term/__init__.py
Normal file
75
erpnext/hr/doctype/offer_letter_term/offer_letter_term.json
Normal file
75
erpnext/hr/doctype/offer_letter_term/offer_letter_term.json
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"creation": "2015-03-05 12:53:45.342292",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "",
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"fieldname": "offer_term",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 1,
|
||||
"label": "Offer Term",
|
||||
"no_copy": 0,
|
||||
"options": "Offer Term",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_2",
|
||||
"fieldtype": "Column Break",
|
||||
"permlevel": 0,
|
||||
"precision": ""
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"fieldname": "value",
|
||||
"fieldtype": "Small Text",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 1,
|
||||
"label": "Value / Description",
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0
|
||||
}
|
||||
],
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"in_create": 0,
|
||||
"in_dialog": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 1,
|
||||
"modified": "2015-04-01 03:46:49.530328",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Offer Letter Term",
|
||||
"name_case": "",
|
||||
"owner": "Administrator",
|
||||
"permissions": [],
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC"
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
|
||||
class OfferLetterTerm(Document):
|
||||
pass
|
0
erpnext/hr/doctype/offer_term/__init__.py
Normal file
0
erpnext/hr/doctype/offer_term/__init__.py
Normal file
70
erpnext/hr/doctype/offer_term/offer_term.json
Normal file
70
erpnext/hr/doctype/offer_term/offer_term.json
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_import": 1,
|
||||
"allow_rename": 0,
|
||||
"autoname": "field:offer_term",
|
||||
"creation": "2015-03-05 13:00:30.900471",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "Master",
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"fieldname": "offer_term",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Offer Term",
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"read_only": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0
|
||||
}
|
||||
],
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"in_create": 0,
|
||||
"in_dialog": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"modified": "2015-03-10 18:19:23.032194",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Offer Term",
|
||||
"name_case": "",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"amend": 0,
|
||||
"apply_user_permissions": 0,
|
||||
"cancel": 0,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 0,
|
||||
"export": 0,
|
||||
"import": 0,
|
||||
"permlevel": 0,
|
||||
"print": 0,
|
||||
"read": 1,
|
||||
"report": 0,
|
||||
"role": "HR User",
|
||||
"set_user_permissions": 0,
|
||||
"share": 0,
|
||||
"submit": 0,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC"
|
||||
}
|
9
erpnext/hr/doctype/offer_term/offer_term.py
Normal file
9
erpnext/hr/doctype/offer_term/offer_term.py
Normal file
@ -0,0 +1,9 @@
|
||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
|
||||
class OfferTerm(Document):
|
||||
pass
|
11
erpnext/hr/doctype/offer_term/test_offer_term.py
Normal file
11
erpnext/hr/doctype/offer_term/test_offer_term.py
Normal file
@ -0,0 +1,11 @@
|
||||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and Contributors
|
||||
# See license.txt
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
import unittest
|
||||
|
||||
# test_records = frappe.get_test_records('Offer Term')
|
||||
|
||||
class TestOfferTerm(unittest.TestCase):
|
||||
pass
|
0
erpnext/hr/print_format/__init__.py
Normal file
0
erpnext/hr/print_format/__init__.py
Normal file
0
erpnext/hr/print_format/offer_letter/__init__.py
Normal file
0
erpnext/hr/print_format/offer_letter/__init__.py
Normal file
16
erpnext/hr/print_format/offer_letter/offer_letter.json
Normal file
16
erpnext/hr/print_format/offer_letter/offer_letter.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"creation": "2015-03-05 14:34:26.751210",
|
||||
"custom_format": 1,
|
||||
"disabled": 0,
|
||||
"doc_type": "Offer Letter",
|
||||
"docstatus": 0,
|
||||
"doctype": "Print Format",
|
||||
"html": "{% if letter_head and not no_letterhead -%}\n <div class=\"letter-head\">{{ letter_head }}</div>\n <hr>\n{%- endif %}\n\n<div class=\"page-break\">\n<p>\n\n<!-- offer letter content starts here, <br> is used to create new lines -->\nDate: {{ doc.offer_date }}\n<br><br>\n\nDear {{ doc.applicant_name }}, \n\n<br><br>\n\nWe are pleased to appoint you in the services of {{ doc.company }} on the terms and conditions detailed in this letter.\n\n<br><br>\n\nYour designation shall be <b>{{ doc.designation }}</b>.\n\n<br><br>\n\n<!-- offer letter terms and description from the table -->\n\n{%- if doc.offer_terms -%}\n {%- for row in doc.offer_terms -%}\n <b>{{ row.offer_term }}:</b> {{ row.value }}\n\n <br>\n {%- endfor -%}\n{%- endif -%}\n\n<br>\n\n<!-- offer letter content continues -->\n\n\nPlease read the detailed terms as below. If you have any queries, feel free to get in touch with us.\nWe look forward to your long and fruitful career association with our organisation.\nIf you decide to join us, 'Welcome to {{ doc.company }} !'\n\n<br><br>\n\n<p class=\"strong\">\n\nYours truly,\n\n<br><br><br><br>\n\nAuthorized Signatory\n\n<br>\n\n{{ doc.company }}\n\n<!-- offer letter content ends here -->\n\n</p>\n</div>\n\n<!-- offer letter terms and conditions -->\n<div> {{ doc.terms }} </div>",
|
||||
"modified": "2015-04-01 05:22:51.345050",
|
||||
"modified_by": "Administrator",
|
||||
"name": "Offer Letter",
|
||||
"owner": "Administrator",
|
||||
"print_format_builder": 0,
|
||||
"print_format_type": "Server",
|
||||
"standard": "Yes"
|
||||
}
|
@ -153,7 +153,21 @@ def install(country=None):
|
||||
|
||||
{'doctype': "Email Account", "email_id": "sales@example.com", "append_to": "Opportunity"},
|
||||
{'doctype': "Email Account", "email_id": "support@example.com", "append_to": "Issue"},
|
||||
{'doctype': "Email Account", "email_id": "jobs@example.com", "append_to": "Job Applicant"}
|
||||
{'doctype': "Email Account", "email_id": "jobs@example.com", "append_to": "Job Applicant"},
|
||||
|
||||
{"doctype": "Offer Term", "offer_term": _("Date of Joining")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Annual Salary")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Probationary Period")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Employee Benefits")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Working Hours")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Stock Options")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Department")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Job Description")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Responsibilities")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Leaves per Year")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Notice Period")},
|
||||
{"doctype": "Offer Term", "offer_term": _("Incentives")},
|
||||
|
||||
]
|
||||
|
||||
from erpnext.setup.page.setup_wizard.fixtures import industry_type
|
||||
|
Loading…
x
Reference in New Issue
Block a user