diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.js b/erpnext/hr/doctype/job_applicant/job_applicant.js index ed594d9c63c..1ca750ad15f 100644 --- a/erpnext/hr/doctype/job_applicant/job_applicant.js +++ b/erpnext/hr/doctype/job_applicant/job_applicant.js @@ -5,3 +5,25 @@ // for communication cur_frm.email_field = "email_id"; + +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"); + }); + } + } + + } +}); \ No newline at end of file diff --git a/erpnext/hr/doctype/job_applicant/job_applicant.py b/erpnext/hr/doctype/job_applicant/job_applicant.py index 1bdd8fc51ee..90b0ec90a2f 100644 --- a/erpnext/hr/doctype/job_applicant/job_applicant.py +++ b/erpnext/hr/doctype/job_applicant/job_applicant.py @@ -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: diff --git a/erpnext/hr/doctype/offer_letter/offer_letter.json b/erpnext/hr/doctype/offer_letter/offer_letter.json index e98ab6b4c2b..ec93bb004b4 100644 --- a/erpnext/hr/doctype/offer_letter/offer_letter.json +++ b/erpnext/hr/doctype/offer_letter/offer_letter.json @@ -56,6 +56,14 @@ "precision": "", "print_hide": 1 }, + { + "default": "", + "fieldname": "offer_date", + "fieldtype": "Date", + "label": "Offer Date", + "permlevel": 0, + "precision": "" + }, { "allow_on_submit": 0, "fieldname": "designation", @@ -95,8 +103,8 @@ { "fieldname": "offer_terms", "fieldtype": "Table", - "label": "Offer Terms", - "options": "Offer Letter Terms", + "label": "Offer Letter Terms", + "options": "Offer Letter Term", "permlevel": 0, "precision": "" }, @@ -114,7 +122,7 @@ "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 0, - "label": "Select Terms", + "label": "Select Terms and Conditions", "no_copy": 0, "options": "Terms and Conditions", "permlevel": 0, @@ -129,7 +137,7 @@ { "fieldname": "terms", "fieldtype": "Text Editor", - "label": "Terms", + "label": "Terms and Conditions", "options": "", "permlevel": 0, "precision": "" @@ -152,7 +160,7 @@ "is_submittable": 1, "issingle": 0, "istable": 0, - "modified": "2015-03-10 11:41:24.870015", + "modified": "2015-04-01 05:51:39.841591", "modified_by": "Administrator", "module": "HR", "name": "Offer Letter", diff --git a/erpnext/hr/doctype/offer_letter_terms/__init__.py b/erpnext/hr/doctype/offer_letter_term/__init__.py similarity index 100% rename from erpnext/hr/doctype/offer_letter_terms/__init__.py rename to erpnext/hr/doctype/offer_letter_term/__init__.py diff --git a/erpnext/hr/doctype/offer_letter_terms/offer_letter_terms.json b/erpnext/hr/doctype/offer_letter_term/offer_letter_term.json similarity index 90% rename from erpnext/hr/doctype/offer_letter_terms/offer_letter_terms.json rename to erpnext/hr/doctype/offer_letter_term/offer_letter_term.json index 70a7e611ac4..4ab1911d56a 100644 --- a/erpnext/hr/doctype/offer_letter_terms/offer_letter_terms.json +++ b/erpnext/hr/doctype/offer_letter_term/offer_letter_term.json @@ -37,12 +37,12 @@ { "allow_on_submit": 0, "fieldname": "value", - "fieldtype": "Data", + "fieldtype": "Small Text", "hidden": 0, "ignore_user_permissions": 0, "in_filter": 0, "in_list_view": 1, - "label": "Value", + "label": "Value / Description", "no_copy": 0, "permlevel": 0, "precision": "", @@ -61,10 +61,10 @@ "is_submittable": 0, "issingle": 0, "istable": 1, - "modified": "2015-03-10 18:28:01.978680", + "modified": "2015-04-01 03:46:49.530328", "modified_by": "Administrator", "module": "HR", - "name": "Offer Letter Terms", + "name": "Offer Letter Term", "name_case": "", "owner": "Administrator", "permissions": [], diff --git a/erpnext/hr/doctype/offer_letter_terms/offer_letter_terms.py b/erpnext/hr/doctype/offer_letter_term/offer_letter_term.py similarity index 87% rename from erpnext/hr/doctype/offer_letter_terms/offer_letter_terms.py rename to erpnext/hr/doctype/offer_letter_term/offer_letter_term.py index f98cc9feee1..3396a9d2689 100644 --- a/erpnext/hr/doctype/offer_letter_terms/offer_letter_terms.py +++ b/erpnext/hr/doctype/offer_letter_term/offer_letter_term.py @@ -5,5 +5,5 @@ from __future__ import unicode_literals import frappe from frappe.model.document import Document -class OfferLetterTerms(Document): +class OfferLetterTerm(Document): pass diff --git a/erpnext/hr/print_format/offer_letter/offer_letter.json b/erpnext/hr/print_format/offer_letter/offer_letter.json index 08ad33398aa..d480159b661 100644 --- a/erpnext/hr/print_format/offer_letter/offer_letter.json +++ b/erpnext/hr/print_format/offer_letter/offer_letter.json @@ -1,12 +1,12 @@ { "creation": "2015-03-05 14:34:26.751210", - "custom_format": 0, + "custom_format": 1, "disabled": 0, "doc_type": "Offer Letter", "docstatus": 0, "doctype": "Print Format", - "html": "{% if letter_head and not no_letterhead %}\n
{{ letter_head }}

\n{% endif %}\n
\n\nDear {{ doc.applicant_name }},

\n\nWe are pleased to appoint you in the services of {{ doc.company }} on the terms and conditions detailed in this letter.\n\n

\n\nYour designation shall be {{ doc.designation }}.\n\n
\n{%- for row in doc.offer_terms -%}\n{{ row.offer_term }}: {{ row.value }}\n
\n{%- endfor -%}\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
\n
\n

\n\nYours truely,\n\n



\n\nAuthorized Signatory\n\n
{{ doc.company }}

\n
\n
\n\t{{doc.terms}}\n
", - "modified": "2015-03-09 18:51:17.400960", + "html": "{% if letter_head and not no_letterhead -%}\n
{{ letter_head }}
\n
\n{%- endif %}\n\n
\n

\n\n\nDate: {{ doc.offer_date }}\n

\n\nDear {{ doc.applicant_name }}, \n\n

\n\nWe are pleased to appoint you in the services of {{ doc.company }} on the terms and conditions detailed in this letter.\n\n

\n\nYour designation shall be {{ doc.designation }}.\n\n

\n\n\n\n{%- if doc.offer_terms -%}\n {%- for row in doc.offer_terms -%}\n {{ row.offer_term }}: {{ row.value }}\n\n
\n {%- endfor -%}\n{%- endif -%}\n\n
\n\n\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

\n\n

\n\nYours truly,\n\n



\n\nAuthorized Signatory\n\n
\n\n{{ doc.company }}\n\n\n\n

\n
\n\n\n
{{ doc.terms }}
", + "modified": "2015-04-01 05:22:51.345050", "modified_by": "Administrator", "name": "Offer Letter", "owner": "Administrator", diff --git a/erpnext/setup/page/setup_wizard/install_fixtures.py b/erpnext/setup/page/setup_wizard/install_fixtures.py index 7bbe1395f8b..f6de0999386 100644 --- a/erpnext/setup/page/setup_wizard/install_fixtures.py +++ b/erpnext/setup/page/setup_wizard/install_fixtures.py @@ -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