Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e87299b
chore: move payware settings attributes to csf tz settings
av-dev2 Nov 14, 2023
f7cbccd
chore: remove 'Payroll Payment' and 'Payroll Payments' doctype from p…
av-dev2 Nov 14, 2023
64c57a3
chore: remove doctype of 'loan repayment not from salary'
av-dev2 Nov 27, 2023
13b69df
chore: remove child doctype 'Loan NFS Repayments'
av-dev2 Nov 27, 2023
a81e95e
chore: remove single doctype 'Biometric Settings' from Payware App
av-dev2 Nov 27, 2023
536cfaf
chore: remove doctype 'Transactions Log' and 'Transactions Fetch Log'…
av-dev2 Nov 27, 2023
f7c326e
remove doctype 'Employee KPI' from payware
av-dev2 Nov 27, 2023
0f67e9e
chore: remove doctype 'Designation KPI Template'
av-dev2 Nov 27, 2023
4610180
chore: remove doctype 'Designation Objective'
av-dev2 Nov 27, 2023
ff4bdb3
chore: remove doctype 'Designation Education'
av-dev2 Nov 27, 2023
1310e75
chore: remove doctype 'Roles and Responsibilities'
av-dev2 Nov 27, 2023
9e1a61f
chore: remove doctype 'Goal Sheet Template'
av-dev2 Nov 27, 2023
21b9d4e
chore: remove child doctype 'Goal Sheet Template Detail'
av-dev2 Nov 27, 2023
f774c8c
chore: remove 'Goal Sheet' and 'Goal Sheet Detail'
av-dev2 Nov 27, 2023
86e753c
chore: remove doctypes 'Area' and 'Employee Area'
av-dev2 Nov 27, 2023
25ccdb8
chore: remove doctype 'HR Perspective'
av-dev2 Nov 27, 2023
24d886f
chore: remove doctype 'NSSF Payments'
av-dev2 Nov 27, 2023
14c4519
chore: remove doctype 'Salary Slip OT Components'
av-dev2 Nov 27, 2023
916b3e0
chore: remove doctype 'Employee OT Components'
av-dev2 Nov 27, 2023
9cc091e
chore: remove doctype 'Salary Slip Overtime'
av-dev2 Nov 27, 2023
4be47e6
feat: shift 'Employee OT Component' doctype from payware to csf tz app
av-dev2 Nov 27, 2023
27cb554
feat: shift doctype 'Salary Slip OT Component' from payware to csf tz…
av-dev2 Nov 27, 2023
82ef4fe
chore: move APIs, doc events and schedules from Payware App to CSF TZ…
av-dev2 Dec 18, 2023
f5926d4
chore: move all custom fields and property setter from payware app to…
av-dev2 Dec 20, 2023
98337ff
chore: remove all unrequired custom fields and property setter from s…
av-dev2 Dec 20, 2023
03734c6
chore: remove print formats and reports from Payware App
av-dev2 Jan 11, 2024
9fbaa50
feat: before uninstall hook to remove unused doctypes, custom fields,…
av-dev2 Jan 18, 2024
0c66a75
Merge pull request #16 from av-dev2/csf_tz_merger
aakvatech Jan 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
173 changes: 173 additions & 0 deletions payware/before_uninstall.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
import click
import frappe


def before_uninstall():
delete_custom_fields()
delete_property_setters()
delete_payware_doctype()
delete_payware_print_formats()
delete_payware_reports()


def delete_payware_doctype():
doctypes = frappe.get_all("DocType", filters={"module": "Payware"})
for doctype in doctypes:
try:
frappe.delete_doc("DocType", doctype.name)
except Exception as e:
click.secho("Error occured when deleting payware doctype", fg="red")

frappe.clear_cache()
click.secho("Payware doctypes deleted successfully", fg="green")


def delete_custom_fields():
custom_fields = get_custom_fields_to_remove()
for doctype, fields in custom_fields.items():
try:
frappe.db.delete(
"Custom Field",
filters={"dt": doctype, "fieldname": ["in", fields]},
)
except Exception as e:
click.secho("Error occured when deleting Payware custom fields", fg="red")

frappe.clear_cache(doctype=doctype)

click.secho("Payware Custom fields deleted successfully", fg="green")


def delete_property_setters():
unique_doctypes = []
property_setters = get_property_setter_to_delete()
for property_setter in property_setters:
try:
frappe.db.delete(
"Property Setter",
filters=property_setter,
)
if property_setter.get("doc_type") not in unique_doctypes:
unique_doctypes.append(property_setter.get("doc_type"))
except Exception as e:
click.secho("Error occured when deleting Payware property setter", fg="red")

for doctype in unique_doctypes:
frappe.clear_cache(doctype=doctype)

click.secho("Payware Property setters deleted successfully", fg="green")


def get_custom_fields_to_remove():
custom_fields = {
"Employee": [
"area",
"biometric_code",
"biometric_id",
"enable_biometric",
"column_break_49",
"column_break_50",
"other_allowance",
"worker_subsistence",
"column_break_54",
],
"Loan": [
"loan_repayments_not_from_salary",
"not_from_salary_loan_repayments",
"total_nsf_repayments",
],
"Payroll Entry": [
"bank_account_for_transfer",
"bank_payment_details",
"cheque_date",
"cheque_number",
"column_break_34",
"section_break_35",
],
"Salary Component": [
"sdl_emolument_category",
"column_break_16",
],
"Repayment Schedule": [
"change_amount",
"changed_interest_amount",
"changed_principal_amount",
],
}
return custom_fields


def get_property_setter_to_delete():
property_setters = [
{
"doc_type": "Additional Salary",
"field_name": "naming_series",
"property": "options",
},
{"doc_type": "Employee", "field_name": "department", "property": "permlevel"},
{"doc_type": "Employee", "field_name": "job_profile", "property": "permlevel"},
{
"doc_type": "Leave Application",
"field_name": "naming_series",
"property": "options",
},
{"doc_type": "Loan", "field_name": "loan_type", "property": "in_list_view"},
{
"doc_type": "Loan",
"field_name": "loan_type",
"property": "in_standard_filter",
},
{"doc_type": "Loan", "field_name": "posting_date", "property": "in_list_view"},
{
"doc_type": "Loan",
"field_name": "repay_from_salary",
"property": "allow_on_submit",
},
{"doc_type": "Loan", "field_name": "repayment_method", "property": "options"},
{"doc_type": "Loan", "field_name": "status", "property": "in_standard_filter"},
{
"doc_type": "Payroll Entry",
"field_name": "branch",
"property": "in_list_view",
},
{
"doc_type": "Payroll Entry",
"field_name": "company",
"property": "print_width",
},
{
"doc_type": "Salary Structure Assignment",
"field_name": "employee",
"property": "in_list_view",
},
]

return property_setters


def delete_payware_print_formats():
print_formats = frappe.get_all(
"Print Format", filters={"module": "Payware", "standard": "Yes"}
)
for print_format in print_formats:
try:
frappe.delete_doc("Print Format", print_format.name)
except Exception as e:
click.secho("Error occured when deleting Payware print format", fg="red")

frappe.clear_cache()
click.secho("Payware print formats deleted successfully", fg="green")


def delete_payware_reports():
reports = frappe.get_all(
"Report", filters={"module": "Payware", "is_standard": "Yes"}
)
for report in reports:
try:
frappe.delete_doc("Report", report.name)
except Exception as e:
click.secho("Error occured when deleting Payware report", fg="red")

frappe.clear_cache()
click.secho("Payware reports deleted successfully", fg="green")
1 change: 1 addition & 0 deletions payware/config/payware.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@


def get_data():
return
config = [
{
"label": _("Payware Documents"),
Expand Down
Loading