From ae4546734ce995a68374398269daf312f69559c9 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sat, 9 Dec 2023 16:35:16 -0500 Subject: [PATCH] extenstion timeline --- .../contract_extension_request_c.mailfile | 175 ++++++++++++++++++ .../contract_extension_request_m.mailfile | 175 ++++++++++++++++++ wrenchboard/src/shared_tool/contract.cc | 43 ++++- wrenchboard/src/shared_tool/email.cc | 16 +- 4 files changed, 405 insertions(+), 4 deletions(-) create mode 100644 wrenchboard/email/PROJ/contract_extension_request_c.mailfile create mode 100644 wrenchboard/email/PROJ/contract_extension_request_m.mailfile diff --git a/wrenchboard/email/PROJ/contract_extension_request_c.mailfile b/wrenchboard/email/PROJ/contract_extension_request_c.mailfile new file mode 100644 index 00000000..837dfaeb --- /dev/null +++ b/wrenchboard/email/PROJ/contract_extension_request_c.mailfile @@ -0,0 +1,175 @@ +Subject: {{subject}} - {{title}} + + + + + + + {{subject}} - {{title}} + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + + +
+ WrenchBoard +
+ {{site_trade_name}} +
+
+ +
+ + + + + + + +
+ Dear {{member_firstname}}, +
+ You have requested extenstion of timeline for {{contract}} as shown below at {{site_name}} . +
+
+ + + + + + + + +
+ + + + + + + + + + + + + + +
Task ID:{{contract}}
Title:{{title}}
Price:{{amount}} {{currency}}
+
Please login into your account to accept or reject the completion of this task. +
+ +
+ Please contact us at {{server_name}}/contact if you have any question about this email. +
+{{site_name}} Team +
+{{server_name}} +
+ +
+ + + diff --git a/wrenchboard/email/PROJ/contract_extension_request_m.mailfile b/wrenchboard/email/PROJ/contract_extension_request_m.mailfile new file mode 100644 index 00000000..42d7d17f --- /dev/null +++ b/wrenchboard/email/PROJ/contract_extension_request_m.mailfile @@ -0,0 +1,175 @@ +Subject: {{subject}} - {{title}} + + + + + + + {{subject}} - {{title}} + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + + +
+ WrenchBoard +
+ {{site_trade_name}} +
+
+ +
+ + + + + + + +
+ Dear {{member_firstname}}, +
+ We are notifying you that task {{contract}} as shown below at {{site_name}} need extenstion approval. +
+
+ + + + + + + + +
+ + + + + + + + + + + + + + +
Task ID:{{contract}}
Title:{{title}}
Price:{{amount}} {{currency}}
+
Please login into your account to accept or reject the completion of this task. +
+ +
+ Please contact us at {{server_name}}/contact if you have any question about this email. +
+{{site_name}} Team +
+{{server_name}} +
+ +
+ + + diff --git a/wrenchboard/src/shared_tool/contract.cc b/wrenchboard/src/shared_tool/contract.cc index 9f76dbdb..400dd385 100644 --- a/wrenchboard/src/shared_tool/contract.cc +++ b/wrenchboard/src/shared_tool/contract.cc @@ -175,15 +175,52 @@ long WrenchContractStatus( CVars in, CVars &out ) } } break; - + + case CONTRACT_REQUEST_TIMELINE: + /* + { + "uid": "3119b744-42ad-4834-bb83-b737588754ca", + "member_id": "1", + "sessionid": "38E1B8E88F0A1F029C390FCBC63573C1E71566C1C1FB586203B6F2D9E2440BDB", + "action": 14015, + "contract": "8R0B101BRW", + "contract_uid": "a12cf3b6-391e-4003-803d-799128d528a4", + "job_action": "NOTIFY_REQEXTENT" + } + */ + logfmt( logINFO, "~~~~ ~~~~~ WrenchContractStatus() CONTRACT_EXTEND_TIMELINE" ); + out["result"] = "CONTRACT_EXTEND_TIMELINE"; + extension = REQ_LONG( in, "extension", 1, -1 ); + + ret = load_db_record( out, "SELECT * FROM members_jobs_contract " + " WHERE status IN (1,2) AND contract='%s' " + " AND id=%lu AND client_id =%lu " + " AND delivery_date < now()",in["job_contract"].c_str(),in["contract_id"].Long(),in["member_id"].Long() ); + logfmt( logINFO, "~~~~ ~~~~~ WrenchContractStatus() CONTRACT_REQUEST_TIMELINEret 1 = %lu",ret ); + if (ret>0) + { + // pgsql_exec("UPDATE members_jobs_contract SET due_remind = NULL, delivery_date = now() +'%lu days' WHERE status IN (1,2) AND id = %lu AND contract='%s'",extension, in["contract_id"].Long() ,in["job_contract"].c_str()); + // make sure the update was done + if ( load_db_record( out, "SELECT * FROM members_jobs_contract WHERE id=%lu AND member_id =%lu AND delivery_date > now()",in["contract_id"].Long(),in["member_id"].Long() ) ) + { + project_email(CONTRACT_REQUEST_TIMELINE, in, out); + out["result"] = "We have requested the timeline increase"; + } + } + + break; + case CONTRACT_EXTEND_TIMELINE: logfmt( logINFO, "~~~~ ~~~~~ WrenchContractStatus() CONTRACT_EXTEND_TIMELINE" ); out["result"] = "CONTRACT_EXTEND_TIMELINE"; extension = REQ_LONG( in, "extension", 1, -1 ); - ret = load_db_record( out, "SELECT * FROM members_jobs_contract WHERE status IN (1,2) AND contract='%s' AND id=%lu AND member_id =%lu AND delivery_date < now()",in["job_contract"].c_str(),in["contract_id"].Long(),in["member_id"].Long() ); + ret = load_db_record( out, "SELECT * FROM members_jobs_contract " + " WHERE status IN (1,2) AND contract='%s' " + " AND id=%lu AND member_id =%lu " + " AND delivery_date < now()",in["job_contract"].c_str(),in["contract_id"].Long(),in["member_id"].Long() ); logfmt( logINFO, "~~~~ ~~~~~ WrenchContractStatus() ret 1 = %lu",ret ); - if (ret) + if (ret>0) { pgsql_exec("UPDATE members_jobs_contract SET due_remind = NULL, delivery_date = now() +'%lu days' WHERE status IN (1,2) AND id = %lu AND contract='%s'",extension, in["contract_id"].Long() ,in["job_contract"].c_str()); // make sure the update was done diff --git a/wrenchboard/src/shared_tool/email.cc b/wrenchboard/src/shared_tool/email.cc index e48b3c93..151652fb 100644 --- a/wrenchboard/src/shared_tool/email.cc +++ b/wrenchboard/src/shared_tool/email.cc @@ -1071,6 +1071,20 @@ long project_email(long mailtype, CVars in, CVars &out) { -rw-r--r--. 1 oameye dev 9374 May 19 20:07 contract_acceptcomplete_m.mailfile */ break; + + case CONTRACT_REQUEST_TIMELINE: + + vars2form(out, form); + form.LetStr("subject", "Due Date Extenstion Requsted"); + form.LetStr("email", out["member_email"].c_str()); + form.Email("PROJ/contract_extension_request_m.mailfile"); + + vars2form(out, form); + form.LetStr("subject", "Due Date Extenstion Request Sent"); + form.LetStr("email", out["client_email"].c_str()); + form.Email("PROJ/contract_extension_request_c.mailfile"); + break; + case CONTRACT_REJECT_COMPLETE: vars2form(out, form); @@ -1079,7 +1093,7 @@ long project_email(long mailtype, CVars in, CVars &out) { form.Email("PROJ/contract_rejectcomplete_m.mailfile"); vars2form(out, form); - form.LetStr("subject", "Task Completion Rejected"); + form.LetStr("subject", "Your Task Completion was Rejected"); form.LetStr("email", out["client_email"].c_str()); form.Email("PROJ/contract_rejectcomplete_c.mailfile");