From 0ae11df278efe49a1ec106a81bf053e29f25a63b Mon Sep 17 00:00:00 2001 From: "Phongsan.b" Date: Tue, 19 Aug 2014 18:36:46 +0700 Subject: [PATCH] Add file --- clinic.egg-info/PKG-INFO | 10 ++ clinic.egg-info/SOURCES.txt | 9 ++ clinic.egg-info/dependency_links.txt | 1 + clinic.egg-info/top_level.txt | 1 + clinic/__init__.py | 2 + clinic/__pycache__/__init__.cpython-32.pyc | Bin 0 -> 252 bytes clinic/actions/clinic_board.xml | 7 + clinic/actions/clinic_doctor.xml | 7 + clinic/actions/clinic_nurse.xml | 7 + clinic/actions/clinic_patient.xml | 7 + clinic/actions/clinic_visit.xml | 8 ++ clinic/actions/clinic_visit_cal_widget.xml | 5 + clinic/controllers/__init__.py | 0 .../__pycache__/__init__.cpython-32.pyc | Bin 0 -> 156 bytes clinic/layouts/clinic_board.xml | 5 + clinic/layouts/clinic_doctor_form.xml | 28 ++++ clinic/layouts/clinic_doctor_list.xml | 6 + clinic/layouts/clinic_main_menu.xml | 5 + clinic/layouts/clinic_menu.xml | 15 +++ clinic/layouts/clinic_nurse_form.xml | 29 +++++ clinic/layouts/clinic_nurse_list.xml | 6 + clinic/layouts/clinic_patient_form.xml | 71 ++++++++++ clinic/layouts/clinic_patient_list.xml | 6 + clinic/layouts/clinic_visit_calendar.xml | 7 + clinic/layouts/clinic_visit_form.xml | 22 ++++ clinic/layouts/clinic_visit_list.xml | 8 ++ clinic/models/__init__.py | 4 + .../__pycache__/__init__.cpython-32.pyc | Bin 0 -> 385 bytes .../__pycache__/clinic_doctor.cpython-32.pyc | Bin 0 -> 3113 bytes .../__pycache__/clinic_nurse.cpython-32.pyc | Bin 0 -> 3102 bytes .../__pycache__/clinic_patient.cpython-32.pyc | Bin 0 -> 6181 bytes .../clinic_patients.cpython-32.pyc | Bin 0 -> 2710 bytes .../__pycache__/clinic_visit.cpython-32.pyc | Bin 0 -> 3021 bytes .../__pycache__/competitor.cpython-32.pyc | Bin 0 -> 984 bytes .../__pycache__/convert_lead.cpython-32.pyc | Bin 0 -> 2403 bytes .../__pycache__/lead_analysis.cpython-32.pyc | Bin 0 -> 7963 bytes .../opport_analysis.cpython-32.pyc | Bin 0 -> 8044 bytes .../__pycache__/opport_compet.cpython-32.pyc | Bin 0 -> 1081 bytes .../__pycache__/pricelist_add.cpython-32.pyc | Bin 0 -> 1607 bytes .../__pycache__/rch_patient.cpython-32.pyc | Bin 0 -> 3499 bytes .../__pycache__/report_sale.cpython-32.pyc | Bin 0 -> 12675 bytes .../__pycache__/sale_analysis.cpython-32.pyc | Bin 0 -> 7829 bytes .../__pycache__/sale_cost.cpython-32.pyc | Bin 0 -> 1127 bytes .../__pycache__/sale_coupon.cpython-32.pyc | Bin 0 -> 1941 bytes .../sale_coupon_count.cpython-32.pyc | Bin 0 -> 994 bytes .../__pycache__/sale_lead.cpython-32.pyc | Bin 0 -> 5682 bytes .../sale_opportunity.cpython-32.pyc | Bin 0 -> 5010 bytes .../__pycache__/sale_order.cpython-32.pyc | Bin 0 -> 28800 bytes .../sale_order_line.cpython-32.pyc | Bin 0 -> 6084 bytes .../__pycache__/sale_quot.cpython-32.pyc | Bin 0 -> 19771 bytes .../__pycache__/sale_quot_line.cpython-32.pyc | Bin 0 -> 3546 bytes .../__pycache__/sale_stage.cpython-32.pyc | Bin 0 -> 931 bytes .../__pycache__/sale_target.cpython-32.pyc | Bin 0 -> 3623 bytes .../models/__pycache__/utils.cpython-32.pyc | Bin 0 -> 8469 bytes clinic/models/clinic_doctor.py | 54 ++++++++ clinic/models/clinic_nurse.py | 54 ++++++++ clinic/models/clinic_patient.py | 98 ++++++++++++++ clinic/models/clinic_visit.py | 51 ++++++++ clinic/reports/.~lock.quot_form_disc.odt# | 1 + clinic/reports/.~lock.sale_form.docx# | 1 + clinic/reports/quot_form.odt | Bin 0 -> 28966 bytes clinic/reports/quot_form_disc.odt | Bin 0 -> 29295 bytes clinic/reports/sale_form.odt | Bin 0 -> 27910 bytes clinic/templates/activ_form_call.xml | 41 ++++++ clinic/templates/activ_form_email.xml | 27 ++++ clinic/templates/activ_form_event.xml | 44 +++++++ clinic/templates/activ_form_meeting.xml | 44 +++++++ clinic/templates/activ_form_task.xml | 42 ++++++ clinic/templates/activ_list.xml | 14 ++ clinic/templates/activ_page.xml | 17 +++ clinic/templates/activ_search.xml | 5 + clinic/templates/activ_widget.xml | 14 ++ clinic/templates/convert_lead.xml | 14 ++ clinic/templates/exp_revenue_widget.xml | 3 + clinic/templates/lead_analysis.xml | 38 ++++++ clinic/templates/lead_form.xml | 78 +++++++++++ clinic/templates/lead_list.xml | 14 ++ clinic/templates/lead_page.xml | 15 +++ clinic/templates/lead_report_list.xml | 9 ++ clinic/templates/lead_search.xml | 6 + clinic/templates/lead_to_contact.xml | 16 +++ clinic/templates/lead_to_partner.xml | 16 +++ clinic/templates/opport_analysis.xml | 38 ++++++ clinic/templates/opport_form.xml | 73 +++++++++++ clinic/templates/opport_list.xml | 14 ++ clinic/templates/opport_page.xml | 13 ++ clinic/templates/opport_report_list.xml | 9 ++ clinic/templates/opport_search.xml | 6 + clinic/templates/opport_stage_widget.xml | 3 + clinic/templates/opport_widget.xml | 9 ++ clinic/templates/pricelist_add.xml | 15 +++ clinic/templates/pricelist_form.xml | 29 +++++ clinic/templates/pricelist_item_form.xml | 18 +++ clinic/templates/pricelist_item_list.xml | 9 ++ clinic/templates/pricelist_item_page.xml | 9 ++ clinic/templates/pricelist_item_search.xml | 4 + clinic/templates/pricelist_list.xml | 9 ++ clinic/templates/pricelist_page.xml | 10 ++ clinic/templates/pricelist_search.xml | 4 + clinic/templates/quot_form.xml | 80 ++++++++++++ clinic/templates/quot_line_sheet.xml | 10 ++ clinic/templates/quot_list.xml | 15 +++ clinic/templates/quot_page.xml | 15 +++ clinic/templates/quot_rlist.xml | 9 ++ clinic/templates/quot_search.xml | 6 + clinic/templates/quot_to_sale.xml | 17 +++ clinic/templates/quot_widget.xml | 10 ++ clinic/templates/report_opport_user.xml | 40 ++++++ clinic/templates/report_opport_user_page.xml | 23 ++++ clinic/templates/report_sale_cust.xml | 67 ++++++++++ clinic/templates/report_sale_cust_page.xml | 22 ++++ clinic/templates/report_sale_prod.xml | 91 +++++++++++++ clinic/templates/report_sale_prod_page.xml | 23 ++++ clinic/templates/report_sale_user.xml | 60 +++++++++ clinic/templates/report_sale_user_page.xml | 22 ++++ clinic/templates/sale_analysis.xml | 38 ++++++ clinic/templates/sale_board.xml | 17 +++ clinic/templates/sale_contact_form.xml | 42 ++++++ clinic/templates/sale_contact_list.xml | 9 ++ clinic/templates/sale_contact_page.xml | 13 ++ clinic/templates/sale_customer_widget.xml | 3 + clinic/templates/sale_form.xml | 87 +++++++++++++ clinic/templates/sale_invoice_rlist.xml | 10 ++ clinic/templates/sale_layout.xml | 11 ++ clinic/templates/sale_line_list.xml | 13 ++ .../templates/sale_line_list_to_deliver.xml | 18 +++ .../templates/sale_line_list_to_invoice.xml | 18 +++ clinic/templates/sale_line_page.xml | 8 ++ clinic/templates/sale_list.xml | 15 +++ clinic/templates/sale_month_widget.xml | 3 + clinic/templates/sale_order_line_sheet.xml | 9 ++ clinic/templates/sale_page.xml | 13 ++ clinic/templates/sale_pick_rlist.xml | 6 + clinic/templates/sale_prod_categ_widget.xml | 3 + clinic/templates/sale_product_form.xml | 38 ++++++ clinic/templates/sale_product_list.xml | 11 ++ clinic/templates/sale_product_page.xml | 11 ++ clinic/templates/sale_report_list.xml | 12 ++ clinic/templates/sale_search.xml | 6 + clinic/templates/sale_target_form.xml | 21 +++ clinic/templates/sale_target_list.xml | 14 ++ clinic/templates/sale_target_page.xml | 9 ++ clinic/templates/sale_to_inv.xml | 16 +++ clinic/templates/sale_to_pick.xml | 17 +++ clinic/templates/sale_widget.xml | 10 ++ clinic/templates/stage_form.xml | 19 +++ clinic/templates/stage_list.xml | 7 + clinic/templates/stage_page.xml | 10 ++ clinic/templates/view_quot.xml | 123 ++++++++++++++++++ setup.py | 8 ++ 150 files changed, 2442 insertions(+) create mode 100644 clinic.egg-info/PKG-INFO create mode 100644 clinic.egg-info/SOURCES.txt create mode 100644 clinic.egg-info/dependency_links.txt create mode 100644 clinic.egg-info/top_level.txt create mode 100644 clinic/__init__.py create mode 100644 clinic/__pycache__/__init__.cpython-32.pyc create mode 100644 clinic/actions/clinic_board.xml create mode 100644 clinic/actions/clinic_doctor.xml create mode 100644 clinic/actions/clinic_nurse.xml create mode 100644 clinic/actions/clinic_patient.xml create mode 100644 clinic/actions/clinic_visit.xml create mode 100644 clinic/actions/clinic_visit_cal_widget.xml create mode 100644 clinic/controllers/__init__.py create mode 100644 clinic/controllers/__pycache__/__init__.cpython-32.pyc create mode 100644 clinic/layouts/clinic_board.xml create mode 100644 clinic/layouts/clinic_doctor_form.xml create mode 100644 clinic/layouts/clinic_doctor_list.xml create mode 100644 clinic/layouts/clinic_main_menu.xml create mode 100644 clinic/layouts/clinic_menu.xml create mode 100644 clinic/layouts/clinic_nurse_form.xml create mode 100644 clinic/layouts/clinic_nurse_list.xml create mode 100644 clinic/layouts/clinic_patient_form.xml create mode 100644 clinic/layouts/clinic_patient_list.xml create mode 100644 clinic/layouts/clinic_visit_calendar.xml create mode 100644 clinic/layouts/clinic_visit_form.xml create mode 100644 clinic/layouts/clinic_visit_list.xml create mode 100644 clinic/models/__init__.py create mode 100644 clinic/models/__pycache__/__init__.cpython-32.pyc create mode 100644 clinic/models/__pycache__/clinic_doctor.cpython-32.pyc create mode 100644 clinic/models/__pycache__/clinic_nurse.cpython-32.pyc create mode 100644 clinic/models/__pycache__/clinic_patient.cpython-32.pyc create mode 100644 clinic/models/__pycache__/clinic_patients.cpython-32.pyc create mode 100644 clinic/models/__pycache__/clinic_visit.cpython-32.pyc create mode 100644 clinic/models/__pycache__/competitor.cpython-32.pyc create mode 100644 clinic/models/__pycache__/convert_lead.cpython-32.pyc create mode 100644 clinic/models/__pycache__/lead_analysis.cpython-32.pyc create mode 100644 clinic/models/__pycache__/opport_analysis.cpython-32.pyc create mode 100644 clinic/models/__pycache__/opport_compet.cpython-32.pyc create mode 100644 clinic/models/__pycache__/pricelist_add.cpython-32.pyc create mode 100644 clinic/models/__pycache__/rch_patient.cpython-32.pyc create mode 100644 clinic/models/__pycache__/report_sale.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_analysis.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_cost.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_coupon.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_coupon_count.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_lead.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_opportunity.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_order.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_order_line.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_quot.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_quot_line.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_stage.cpython-32.pyc create mode 100644 clinic/models/__pycache__/sale_target.cpython-32.pyc create mode 100644 clinic/models/__pycache__/utils.cpython-32.pyc create mode 100644 clinic/models/clinic_doctor.py create mode 100644 clinic/models/clinic_nurse.py create mode 100644 clinic/models/clinic_patient.py create mode 100644 clinic/models/clinic_visit.py create mode 100644 clinic/reports/.~lock.quot_form_disc.odt# create mode 100644 clinic/reports/.~lock.sale_form.docx# create mode 100644 clinic/reports/quot_form.odt create mode 100644 clinic/reports/quot_form_disc.odt create mode 100644 clinic/reports/sale_form.odt create mode 100644 clinic/templates/activ_form_call.xml create mode 100644 clinic/templates/activ_form_email.xml create mode 100644 clinic/templates/activ_form_event.xml create mode 100644 clinic/templates/activ_form_meeting.xml create mode 100644 clinic/templates/activ_form_task.xml create mode 100644 clinic/templates/activ_list.xml create mode 100644 clinic/templates/activ_page.xml create mode 100644 clinic/templates/activ_search.xml create mode 100644 clinic/templates/activ_widget.xml create mode 100644 clinic/templates/convert_lead.xml create mode 100644 clinic/templates/exp_revenue_widget.xml create mode 100644 clinic/templates/lead_analysis.xml create mode 100644 clinic/templates/lead_form.xml create mode 100644 clinic/templates/lead_list.xml create mode 100644 clinic/templates/lead_page.xml create mode 100644 clinic/templates/lead_report_list.xml create mode 100644 clinic/templates/lead_search.xml create mode 100644 clinic/templates/lead_to_contact.xml create mode 100644 clinic/templates/lead_to_partner.xml create mode 100644 clinic/templates/opport_analysis.xml create mode 100644 clinic/templates/opport_form.xml create mode 100644 clinic/templates/opport_list.xml create mode 100644 clinic/templates/opport_page.xml create mode 100644 clinic/templates/opport_report_list.xml create mode 100644 clinic/templates/opport_search.xml create mode 100644 clinic/templates/opport_stage_widget.xml create mode 100644 clinic/templates/opport_widget.xml create mode 100644 clinic/templates/pricelist_add.xml create mode 100644 clinic/templates/pricelist_form.xml create mode 100644 clinic/templates/pricelist_item_form.xml create mode 100644 clinic/templates/pricelist_item_list.xml create mode 100644 clinic/templates/pricelist_item_page.xml create mode 100644 clinic/templates/pricelist_item_search.xml create mode 100644 clinic/templates/pricelist_list.xml create mode 100644 clinic/templates/pricelist_page.xml create mode 100644 clinic/templates/pricelist_search.xml create mode 100644 clinic/templates/quot_form.xml create mode 100644 clinic/templates/quot_line_sheet.xml create mode 100644 clinic/templates/quot_list.xml create mode 100644 clinic/templates/quot_page.xml create mode 100644 clinic/templates/quot_rlist.xml create mode 100644 clinic/templates/quot_search.xml create mode 100644 clinic/templates/quot_to_sale.xml create mode 100644 clinic/templates/quot_widget.xml create mode 100644 clinic/templates/report_opport_user.xml create mode 100644 clinic/templates/report_opport_user_page.xml create mode 100644 clinic/templates/report_sale_cust.xml create mode 100644 clinic/templates/report_sale_cust_page.xml create mode 100644 clinic/templates/report_sale_prod.xml create mode 100644 clinic/templates/report_sale_prod_page.xml create mode 100644 clinic/templates/report_sale_user.xml create mode 100644 clinic/templates/report_sale_user_page.xml create mode 100644 clinic/templates/sale_analysis.xml create mode 100644 clinic/templates/sale_board.xml create mode 100644 clinic/templates/sale_contact_form.xml create mode 100644 clinic/templates/sale_contact_list.xml create mode 100644 clinic/templates/sale_contact_page.xml create mode 100644 clinic/templates/sale_customer_widget.xml create mode 100644 clinic/templates/sale_form.xml create mode 100644 clinic/templates/sale_invoice_rlist.xml create mode 100644 clinic/templates/sale_layout.xml create mode 100644 clinic/templates/sale_line_list.xml create mode 100644 clinic/templates/sale_line_list_to_deliver.xml create mode 100644 clinic/templates/sale_line_list_to_invoice.xml create mode 100644 clinic/templates/sale_line_page.xml create mode 100644 clinic/templates/sale_list.xml create mode 100644 clinic/templates/sale_month_widget.xml create mode 100644 clinic/templates/sale_order_line_sheet.xml create mode 100644 clinic/templates/sale_page.xml create mode 100644 clinic/templates/sale_pick_rlist.xml create mode 100644 clinic/templates/sale_prod_categ_widget.xml create mode 100644 clinic/templates/sale_product_form.xml create mode 100644 clinic/templates/sale_product_list.xml create mode 100644 clinic/templates/sale_product_page.xml create mode 100644 clinic/templates/sale_report_list.xml create mode 100644 clinic/templates/sale_search.xml create mode 100644 clinic/templates/sale_target_form.xml create mode 100644 clinic/templates/sale_target_list.xml create mode 100644 clinic/templates/sale_target_page.xml create mode 100644 clinic/templates/sale_to_inv.xml create mode 100644 clinic/templates/sale_to_pick.xml create mode 100644 clinic/templates/sale_widget.xml create mode 100644 clinic/templates/stage_form.xml create mode 100644 clinic/templates/stage_list.xml create mode 100644 clinic/templates/stage_page.xml create mode 100644 clinic/templates/view_quot.xml create mode 100755 setup.py diff --git a/clinic.egg-info/PKG-INFO b/clinic.egg-info/PKG-INFO new file mode 100644 index 0000000..14a4774 --- /dev/null +++ b/clinic.egg-info/PKG-INFO @@ -0,0 +1,10 @@ +Metadata-Version: 1.0 +Name: clinic +Version: 0.1.0 +Summary: Ratchawat Clinic module +Home-page: UNKNOWN +Author: UNKNOWN +Author-email: UNKNOWN +License: UNKNOWN +Description: UNKNOWN +Platform: UNKNOWN diff --git a/clinic.egg-info/SOURCES.txt b/clinic.egg-info/SOURCES.txt new file mode 100644 index 0000000..c09962f --- /dev/null +++ b/clinic.egg-info/SOURCES.txt @@ -0,0 +1,9 @@ +setup.py +clinic/__init__.py +clinic.egg-info/PKG-INFO +clinic.egg-info/SOURCES.txt +clinic.egg-info/dependency_links.txt +clinic.egg-info/top_level.txt +clinic/controllers/__init__.py +clinic/models/__init__.py +clinic/models/clinic_patients.py \ No newline at end of file diff --git a/clinic.egg-info/dependency_links.txt b/clinic.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/clinic.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/clinic.egg-info/top_level.txt b/clinic.egg-info/top_level.txt new file mode 100644 index 0000000..7facd1c --- /dev/null +++ b/clinic.egg-info/top_level.txt @@ -0,0 +1 @@ +clinic diff --git a/clinic/__init__.py b/clinic/__init__.py new file mode 100644 index 0000000..f7209b1 --- /dev/null +++ b/clinic/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import controllers diff --git a/clinic/__pycache__/__init__.cpython-32.pyc b/clinic/__pycache__/__init__.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b8109a412e0a78f7b5a23f7aa6c52821b64b4439 GIT binary patch literal 252 zcmZ9HO$q`r429EI9QU$``TAX zXug=PAI}nDa5VcPcUrMrxD*gTtDsV#g!P*>RGPVf(u_FRC>A4<$1H8QcuF6hF=OcZ z7>ImKCsRm@dl=1sDI@Pc$vZ|{ht^v>r`mSDzlMn3MyxkTP1m4U_qERPP4C?HcFz<3 Qx#xK@`Gd@tWWl9+0Yy+V;{X5v literal 0 HcmV?d00001 diff --git a/clinic/actions/clinic_board.xml b/clinic/actions/clinic_board.xml new file mode 100644 index 0000000..304c6f0 --- /dev/null +++ b/clinic/actions/clinic_board.xml @@ -0,0 +1,7 @@ + + clinic_board + clinic board + board + clinic_board + clinic_menu + diff --git a/clinic/actions/clinic_doctor.xml b/clinic/actions/clinic_doctor.xml new file mode 100644 index 0000000..1394a78 --- /dev/null +++ b/clinic/actions/clinic_doctor.xml @@ -0,0 +1,7 @@ + + Doctor + multi_view + clinic.doctor + [["All",[]],["Draft",[["state","=","draft"]]],["Active",[["state","=","active"]]],["Deactive",[["state","=","deactive"]]]] + clinic_menu + diff --git a/clinic/actions/clinic_nurse.xml b/clinic/actions/clinic_nurse.xml new file mode 100644 index 0000000..d321c1b --- /dev/null +++ b/clinic/actions/clinic_nurse.xml @@ -0,0 +1,7 @@ + + Nurse + multi_view + clinic.nurse + [["All",[]],["Draft",[["state","=","draft"]]],["Active",[["state","=","active"]]],["Deactive",[["state","=","deactive"]]]] + clinic_menu + diff --git a/clinic/actions/clinic_patient.xml b/clinic/actions/clinic_patient.xml new file mode 100644 index 0000000..af9dd00 --- /dev/null +++ b/clinic/actions/clinic_patient.xml @@ -0,0 +1,7 @@ + + Patient + multi_view + clinic.patient + [["All",[]],["Draft",[["state","=","draft"]]],["Active",[["state","=","active"]]],["Deactive",[["state","=","deactive"]]]] + clinic_menu + diff --git a/clinic/actions/clinic_visit.xml b/clinic/actions/clinic_visit.xml new file mode 100644 index 0000000..6afafb2 --- /dev/null +++ b/clinic/actions/clinic_visit.xml @@ -0,0 +1,8 @@ + + Visit + multi_view + clinic.visit + [["All",[]],["Draft",[["state","=","draft"]]],["Pending",[["state","=","pending"]]],["Confirm",[["state","=","corfirmed"]]]] + list,calendar,page,form + clinic_menu + diff --git a/clinic/actions/clinic_visit_cal_widget.xml b/clinic/actions/clinic_visit_cal_widget.xml new file mode 100644 index 0000000..22499c3 --- /dev/null +++ b/clinic/actions/clinic_visit_cal_widget.xml @@ -0,0 +1,5 @@ + + calendar_view + Visits + clinic.visit + diff --git a/clinic/controllers/__init__.py b/clinic/controllers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/clinic/controllers/__pycache__/__init__.cpython-32.pyc b/clinic/controllers/__pycache__/__init__.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0763e0ad72285f6cfa6f33ef92a328a9efd727af GIT binary patch literal 156 zcmd1d;pO^0?Llxd0}@~avK@f9m<33rFfasbfJFQ>fCK{?QR)a3)6dAyP1R3MEY8r+ zOD##uFG^0;FG|kPP0q>8%S;9_H6r0@q Pl+v73JCI$)K+FID8Y?5S literal 0 HcmV?d00001 diff --git a/clinic/layouts/clinic_board.xml b/clinic/layouts/clinic_board.xml new file mode 100644 index 0000000..978c5db --- /dev/null +++ b/clinic/layouts/clinic_board.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/clinic/layouts/clinic_doctor_form.xml b/clinic/layouts/clinic_doctor_form.xml new file mode 100644 index 0000000..2aab969 --- /dev/null +++ b/clinic/layouts/clinic_doctor_form.xml @@ -0,0 +1,28 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clinic/layouts/clinic_doctor_list.xml b/clinic/layouts/clinic_doctor_list.xml new file mode 100644 index 0000000..e3fb4d1 --- /dev/null +++ b/clinic/layouts/clinic_doctor_list.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/layouts/clinic_main_menu.xml b/clinic/layouts/clinic_main_menu.xml new file mode 100644 index 0000000..f0c25ec --- /dev/null +++ b/clinic/layouts/clinic_main_menu.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/clinic/layouts/clinic_menu.xml b/clinic/layouts/clinic_menu.xml new file mode 100644 index 0000000..0683d88 --- /dev/null +++ b/clinic/layouts/clinic_menu.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/clinic/layouts/clinic_nurse_form.xml b/clinic/layouts/clinic_nurse_form.xml new file mode 100644 index 0000000..a0c4491 --- /dev/null +++ b/clinic/layouts/clinic_nurse_form.xml @@ -0,0 +1,29 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clinic/layouts/clinic_nurse_list.xml b/clinic/layouts/clinic_nurse_list.xml new file mode 100644 index 0000000..70825a6 --- /dev/null +++ b/clinic/layouts/clinic_nurse_list.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/layouts/clinic_patient_form.xml b/clinic/layouts/clinic_patient_form.xml new file mode 100644 index 0000000..df30526 --- /dev/null +++ b/clinic/layouts/clinic_patient_form.xml @@ -0,0 +1,71 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clinic/layouts/clinic_patient_list.xml b/clinic/layouts/clinic_patient_list.xml new file mode 100644 index 0000000..0683595 --- /dev/null +++ b/clinic/layouts/clinic_patient_list.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/layouts/clinic_visit_calendar.xml b/clinic/layouts/clinic_visit_calendar.xml new file mode 100644 index 0000000..24aac59 --- /dev/null +++ b/clinic/layouts/clinic_visit_calendar.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/clinic/layouts/clinic_visit_form.xml b/clinic/layouts/clinic_visit_form.xml new file mode 100644 index 0000000..e046c34 --- /dev/null +++ b/clinic/layouts/clinic_visit_form.xml @@ -0,0 +1,22 @@ +
+ + + + + + + + + + + + + + + + + + + diff --git a/clinic/layouts/clinic_visit_list.xml b/clinic/layouts/clinic_visit_list.xml new file mode 100644 index 0000000..258104b --- /dev/null +++ b/clinic/layouts/clinic_visit_list.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/clinic/models/__init__.py b/clinic/models/__init__.py new file mode 100644 index 0000000..affba20 --- /dev/null +++ b/clinic/models/__init__.py @@ -0,0 +1,4 @@ +from . import clinic_patient +from . import clinic_doctor +from . import clinic_nurse +from . import clinic_visit diff --git a/clinic/models/__pycache__/__init__.cpython-32.pyc b/clinic/models/__pycache__/__init__.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4aadd5bc715e414533ad2a9ec12f283d1a418481 GIT binary patch literal 385 zcmZvYO$x#=5QQiG5s_AU01wcW-MAES;o41i-Gq`x8c3VcB!cJm0!~t-#hPSZ@;%54 z6PcvD?C>rbEJlFmE0(^YG`I*zfQ~>#fH)332T%nQhn_>I!igi#5mXU!3}wE-AVE-a zCw7m*r04~sLu~}_&E%)E-za9(IN8Z;_jc5Lk literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/clinic_doctor.cpython-32.pyc b/clinic/models/__pycache__/clinic_doctor.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..71d3587ef3f7ad3fa58c5f7618a5cb16059f50da GIT binary patch literal 3113 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 literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/clinic_patients.cpython-32.pyc b/clinic/models/__pycache__/clinic_patients.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2e9d5087ffaf7d1598c17838443d8eac4f8b54bf GIT binary patch literal 2710 zcmcIm+io015UrkBukH0ECdPpf10lj_1;mzk@CzYAILJ?4B5j1kzKq(_z3Z{&;!IB` zvE)2${(>Li_xJ-&RnKN)JLCm3yWLZLsqX4Jr>ZAkUF-e%*WbgG-g!EZe@1cVs0{v! za-u@fNKp~dD54^!QA~=*BFZ~dEYN5nv}4Mw@T4OY97s zAI^Y#;0&|PE`U4u?2s2JTOhkcr^|%Xm=1RuOxUKWiZE^eU&p#(tjE5&s<#xzR>*u# z<_j`klDSV4EdEhDbs8yiJ4{+7vq|P-n!>~_+8?d4H_aV-1AEsggAz=`T=R(l!Ar06 z0rt(O(!n~n$lRsThG>2!n%L+b!1)T^@a)nw&&n*_g`+cDHUW{Rx^7zxRq2akTMKG~ zATqMGeeSc`8tHdd*XfDx@N8XJ5uWHK2msOw`li<7Mx-YqG5Bd!ju1YY>wyg$iI8llM#Z^-2U#c5Qp zM%2ItkXz9yxDv7OI--k++ykc05JWl!HH01Loy0Ve*{@@|h{+xD)Zu&$048gw=g@$9 zpCe-6*_jT`v}J0=IHz-)RJCb+-nyS@{FA6$4jNJ65NhY~83yb)hOWhhU7M9@Z3{r$ z=NW>Kv-!AnQ`y*8jpsPUGV-pi>!V3h`5z(eom7S0OSL=MD{V8b>J%+u&+H{p?AjK` zu25?C?A)(FKbc#(g{Ip;MJiTXs;fHcp42J#@x#YuXbw>vrv&(sQ4j|Y`#cm}xAVut zo#Nq+kuEt_lYxQa)utYEBcuslQQzQ^c!x*1E{=_U`~b2;p-cAjj$%Jk5%y0Rbna|3 z+WQmN|8MQrFhQ*Kj01<~ePdnvePEEtDN}(TCJUDX6!#q}COvAw0chL}WCt{v#0a8c zA92E0%TSm$K+*!=n2l}VGVLWq17tjMTvsn$ND?pWtg%-(%En~4Eka1oxmq2c-XNfS zOg8abwvQX6Hr3!+u#%0wlE1>h2a?#FlGiiY{Os4#S)X|!1Wppprb!|(p715v<06 z6Ao=|aqm{8*mZ>a^@rb(V;GR6RlE}7lBE)3#~M31!M{yvGd~BSb2?67XR33TBsT~r z$LG^F1+ks(8&o}Hnb|K^+w$8{cjDERSS_j^%39Rz$RTIC{Z;6R(`H$3SMr>oaP+|s zn#)?g$#Qr7^Jbp2_&R>OhfY)LoLteIH{bc{@$b(YmyDK1Z6}#)@R@{lLmn6DKPPkc X?4v-&$DGa_duUs2s8y7WXtVzhNG@ej literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/clinic_visit.cpython-32.pyc b/clinic/models/__pycache__/clinic_visit.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ef35f80f0115f58373d5381b37160b258875b7f0 GIT binary patch literal 3021 zcmcImTW=Fb6h31+Hz$EW1QH@G^b+cFNh%&tA1JEoR6OA#8C9xZR-2u%v*}*K&Mp@T zp29!wAL#d;S>vRQcqv_HCg(D9=G6ua^~v+{u#r+#bohkBooPvOpN3m znRF!Y%A_lXypCi&$(LlZ6!5NO%Q9KkeLcxmBwv-uYTzv?z9y43F;DHXe8Bz{aYjxd zuP?4I$Ln$`SlpHIU=^pQ7&7Q$YL+lPE3M0#WkA!^W!5)q0B5d_axw;n>o!}Gjq5l% ziR+_LpkHq3aZ;zRT-1111;*9$jHJv@;^J*WVf^@?s{DfC{{;3<SF;LT)QVcRdgCyk=5+t}TKwKxY8NPT-&XN7n0}zp3TP*;uxT-C2tRLODwdSR zG_7)2PHgxQqb^BYBrXGs$Z(FZrp9$#H(piu0G*1>o%iu9C|J1+WJ^PIbD2|FuL#N} zAk?L;Ar&wT^`s`XbO=Z~SjLYY;22`~7}J}H)UXy!!N@UctV7^^N8WYBf6bB`qX3VQ ze_Btuh10!luF?5vkyMVJ8E}OL+`DY5u0fb;_oi;x-ylZ+SI!TB zicZasfcB5d-0df^KiV%`JuRyQn3lu*pLRdrVv*L!-pN}{wrHW^4ao9alx@1^nprkI zb5rMpG=8*|ae0d2*+=0-hCsbL9*`CMw)@9}-Tc9>Rg&6Nr@0F*t*a@K&|4`n{#^Dj z=N@NqerV$-cK~|~Ij202Q{|b2Q2vzRCb7K(E^hVzv#K;-Rc)>TVzuA4&L{Un;wYRj z1NbpVIEEPh9wz2GW{m*ia3kb6f|6=!pa>qJJa`k2HNi$HHi;(Tt1`7Hb7s4ia|jkw z`>-lsw>|20mDcVbsYzv0T&|b#jE9)GS-(njjHN9Bl!**2pWLB$KYU0_h53tC=a zexmP%1x%l0-tUMETV${eM3Xm)ia2*sq{SWaRned)MCwCjsZSzbSM0jf`$g4+?h(a} zP3tHtXQA#?kiJqH-ZN3&WOW+N8zZC8K4Blt1i4}U`!Aysb(nl(nh#;c_) zR7tQOa$V4+mBNeVOs#9LimaQ)IM!=Aw5^ST>G_cKymlfeoy3`sqR$mw22k&32Fx?Y zeKeZ+uWNS9Epr3E9sG99b#uMDvEDT+rjN1NS?;O7RltB3t2%Jr`u4Qh>56Bcd<~x8 z)zoPgZge(86k&K9E_xTAhab;~lLXgZbHS6bxwwTaG}aJRZkGBQ4@?LRom`>+*3Ox- Xk3&j6VNdh)&5qeJ8yH)i?fZWNQ8ciB literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/competitor.cpython-32.pyc b/clinic/models/__pycache__/competitor.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6479df094a192d68121bccf6b97c52cc38c931f9 GIT binary patch literal 984 zcmcgqxo+D)5S^t?%SQ@VLHq%1YymFZjP_cPugCq3lr@aHsrG{?Koh zie?Ki-SGl;TlHXN$ZxnwT(rVMFm8je#aj(^3gD`}=wfYLVtnUf-_ng~A1=SOy@BtgIQkO1y~zr7=PbKi zmbJsJyVBHN>l`jhA{Nl*>#pH>Y5aQLa=7nY$y{> U>rm; zlxLE~{Ndjro;IH1Ukn?f?=^7{cqM{>_Xr|}Q(ap2I7$QqPdO?q`*hiEs{wh9dPr(? zOTBlczDH{RminMpBOCV{-DRt#KDv@Vpi8{$A$drW`j`;^?+6y6Pv|!!ddL#>DZPWI zBUT|%pCOWJAA`)&*E%nc5-rpVlbS*#+AJ%s;Lng(oPb=vs^VNLW0R#Ja;HmO4fqUE zNTKREpA*Kl)j|~ds48?`-GkM)MG>E-T0MG^nO&@4OFm&O@-l@T&yTaT6tb-LuH|g@ z0Ly3Vb(WV^8kgsfPQ*$Z57X`B<;x$xGm@%`)rn*P@Q0n}NPfao{DWcBrlmn7vUbs> zO_%aNsBG~B)jMQqk4jTV%$FV7^f0eY18NWdB1|GC&)1g1xTpi(>iWu%J^6X8a&9u-WmuJQsnXT3$JvZ}h zJ(($}7gMjO)=lx77(%>c%mp!ZDs&PVXc%IK>~tL@Kw0XyWyMGR@}~L%KcN#$R3sud zuw6?;(y@i*Sz5V~rM06cer>f-BCtGVN#Avp4Y{-?t{r%m?R&PGE^4c(Wy{HQ;aY)M z2+wt$U|~tmcICuZ?n2tNl{<^H=TCjhcBGnFGuw|A6Gtgw&m8Hipl%)9O~OznqA0>} zj0II+Vn}rvWx3QL7wNHSHO1qGY#|r%Xnk&C-^t8F>?`<$E9`RD;(8wADOiQ>1MC7S z02?~Y;RRX`0NSA?KncjU$>Rk&P^X@uDM8#N4@fToSp#Lj5Ex{<_9$-g3FuS21DFL~ zJpdj6^%VLNkjUh%o9c}^U*YTnL^a6FuGwmE)2w+PQnNA;;KUfTf${Nc%|tinqWWWl zQqDkwy&cpVWNdAj|L^(0MY(G6=H)WiqSWSsxW*pCKE{o}CvP!lz@`?S4WQ|T?Rmb8 zq|$z530H`z<0{LZH2|3gzVd}~q^BciX4}rx_NDObSri4zpVU^$nR(V^7QxOAMC42Z zI|!t0rm5}ebD$!UnC5@_9l(|TY zScC36mm}|g3QF70(z?AKpNYCJht2iLaM%H@NnYbi%?PeV7$%t%$(9lypvv7?f=hv~ zDZY)^Srf3K&yJ!_zy_wgXW?Y{zkJ=_HQ9~Dp|FaQ7m literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/lead_analysis.cpython-32.pyc b/clinic/models/__pycache__/lead_analysis.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ff4f6f4e16d0dd424e182502c8750ce37a5788a6 GIT binary patch literal 7963 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 DI0z6# literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/pricelist_add.cpython-32.pyc b/clinic/models/__pycache__/pricelist_add.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a1917f56440c7d7a16acc09aabccd02b4336f895 GIT binary patch literal 1607 zcmbVM&5j#I5U%mx{$v*r%7KVWI3W4tcxUYKj1;1f1m!|Pq#z+yLamOaNr$yAinCcVHYmI$lb24s_y>ktEw(fPLF%Pynk)z#@B=V7^8lK$p&OQ zR1z%%IuB^sq4N$cyL8^A;JNM6JGk_S1G(X6XWzu%j&#|TIA$)Q5k zQ;hm|Oo)Af8Id9SfbLy&Y1^emKvz9_`+*w7-VxgZ40sa6>T@yg(%f%*ws}rJUC>pZ zwlEB+YG~W11)|?;K-A}--OX|6fL158d9!oCa&t`uuJk8@%vg5z$%4u)*gc~7>cE3I z_8<;vdmuuvc}AOG>4(j4R0Q&~cgUVlY)>f$;U6Kewm3X-7cDin7;#bsUtuRI1OwlX zk8iQuCdYFsqzh?2eeUDEgxAS(GLdPQx_h(9F_^ z)6AG0O3rlaWuQ#XX4#A*GmY|bl;o3eGKqMiXVEN)TCX^sPO{LBwNB0w8%CC+h&hYX zEX#GK!`6!@K%r-OK8_Qs(>P7XS(4W8k$P4>VlDi8;_6d zf1y{G;diSx&uaH7{r%#h6yffMa&2^3EA_u4@(+kq;nx=Zx{Juidebr#oKD(g&(+A& i^e>*#f1I^@sOGqntG{r2=|7}H=z7=^{74A#srUniAa$<* literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/rch_patient.cpython-32.pyc b/clinic/models/__pycache__/rch_patient.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..49a97b125c076e007e6faab67ceaf3b00c864439 GIT binary patch literal 3499 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 literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/sale_lead.cpython-32.pyc b/clinic/models/__pycache__/sale_lead.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aef2dc320100c81a45545ed0f829fa4f9f3ad9d2 GIT binary patch literal 5682 zcmc&&S##XR5pL}A7B7i58CkNkPRwKzo1`r#bR5fyW$LgKi8?4-5#tmJ!VH&Su)qq3 zB&NtG>JO#zr<|AkgjBw-2LP9htg5`oOJdO7bM*8%J&31grv7pC&#h2~ej|Xtz>`O4 z4E{ZdMf#p>d(v;oc1!wg*=~!+zLvxz(jS%WQHQrB9+T}coi`%!xb!DvdqTXMW>j8a z{Fqozjxc{x?4;~X$&p}UTeiC6;6{$pZKEki(cDgrjmt4WJCTh|UQPn+*~0I$qw8_p zOhqz55%`0k*xhvWa}_-Zi|DEK!?ZsLlKqf#_~Uy5&zE@ef3-voM6O$*j1UVlLTbop z{zA#vj!ASu?6~YrP-yJfjF5iR@*vqdJ0>Ze8CR<3nTdvq4jo(fwair0cSg*#m>D_3 zjM;`dH?+=tLp_U8V$L~yO3Z?oH>8KnyeVc;fh93NQQ*9ow-mS_<|2U}q%{6c|Wis|b5P{^;K4KcrN)_7m{`$2=RD8Aa@Yl?r^ z;2$Y|$>C7*$6|h?Oa8VQvaUluY4G1E{%M2%Uh&Tw{PK_(pEuMiL)1SwD(vuu&b{hz zXXP)I{e~mKPS=JeUU$?PF*n5A6!R6`+I-zm|0w29Vs0t*c0=71b4ScwrQUN?u$mV$ zr>ySF`u40uFcypp8^OcO7G4iDc)-$pqYzxqe5(*=%rS7xLwNz8otK`*k@>T{K(Lq!?&k~@Fm&`sXqs*F; z;mSdNWOUq(D9ek^X3)19u(=Jga94YF*yAVc;qteFdK|GBnCs&nbUNAWlnLTCO_V1i zUZ-=20%X47B3d_6MYkr62T>7Qg$ji@DIM5Eg}g(6e8V&;kQyKev5gbhlQM`SWE|Ib zuffh>WSJcI68~lhclrtU!x&SE+_x3N6t-0aMVafya)54&cX!joL4yXm-VdT!$61A# z4tLX{nrfE2EsIUcHAI9hWCRaN_q-r$KY0xSz9<8IgsmZM8&?Y7ZR8S zh1<1jceC_ql!R8r8Pv!e`nRLO+T9eA#GMUfW8K}~qd{ekGAXisg*Q?M)0aXA(`9JE zhxTzEK@o(XRq#CE&2+Vs?sTsA2XVS@txNm1!MMAtNdmKU?%SuZr&}SbU|NN~+}TRY z3_B-IC--xQ(=cBrrp&oRB2kTS2KnwwZDEWha++@LMP2WtpIrI5=kvt zO2(Adl7qGaZMpnpQ62)TotX;jbjeEN;c=Ee%U$%II>?TXF1k@bifd>X{LX3O;P-fQ)f`WXEX8_Flph&SdfdLMZqh2@X&&u0Tq{w*3Pt|@jA7fYyP zmwKpjP@kZMo{woDAE3-^srsEoMwlZGN7X={8~|vu$l2ptbYB-okT1_U5@&*aH{1^{wvP@P|$0Jfs+AltGXc ztjQZMXSjS`zJsq3l?)l^2T zA&v_$4y&sz!gY3A0$ei>!5fuM!&S4YCe(q=auoLT?;lL4?5reYUBaZ`ig`k=Dy|u$ zUQtmXo~wvi1!z)nl?>;rl5i|*PMOl>c93#*yJxZ7aF%zA>X!mtqWRXKgQ}dvU=0Si zNVtu;!ksh!Pt|c9rzYLtW{R7@E4A`6HBhv@G)lUhsq6gU;ls>=Ge=9Zswi~_5lY6A zB|R%ad_qyjs@0~aRpVqQ?ef}ErrX?L-!D>p$kB`2XV`CkAB}hmIL0Qu_s~vxORcsy zj(7bx)4BlKSZfmPr1!3ld7~NQM$WV^cxSyf{>JflrnUK?yMT37PrhC}eP0dZ^ScwO zP@pu0yOYxJJ}O*ZwWy~D8SW$0lOL2OD*QO@>3z!YmvIr*-=Wl>s*hTXwA=VLb?FWq zfJ`g{(NE~r z6@I#ZY&}G+;`^`7&J>PUH%5jUcM1k`e{JtPYL$z47QK1zhQ3z;xxa<#?Rpoqm++#R zx;FFl*xaZpkUY9Pht)Fmjbl~s4{F-mul(?Ma#mSHDCqv@Go&)oD-gZ6;Sq!(FK93S oI@xSaeJ`^;ByO7>t6!nlaba?PeuYUpr!QQDey6?p*23O@0T){+i~s-t literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/sale_opportunity.cpython-32.pyc b/clinic/models/__pycache__/sale_opportunity.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..580ea4a66dfe4f305a6017cd6adb6d3445772fda GIT binary patch literal 5010 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 literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/sale_order_line.cpython-32.pyc b/clinic/models/__pycache__/sale_order_line.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c67330202c90864429f34f86172d92ee17817305 GIT binary patch literal 6084 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 literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/sale_quot_line.cpython-32.pyc b/clinic/models/__pycache__/sale_quot_line.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8036317a2b6d2089485047000efa56d23230d564 GIT binary patch literal 3546 zcmc&%TXPge6h1w>*+57F1PEfHt|+=H*(eXuDk&urzzgBFP?V{XsbRX4Olo##Gd)8> zRq_-{e~cQ2HYUlZ^RJoZ~G8h=V+k-m}* zC4EmeJW+SFC$B(hh*5IXkPQG0*=fp=h|*2zbtWJi;gODqCFgcM(I(DYfHor&Ya1$n z{P8`Fhn#i^>w(BEBeVzeuoumi>fs73!>qn7Frz0#w+J734LvC8XMM z##5!}ky3iPz)p&u8NtrhN=}PDQxQC+&(`d7mHl&~&&!eW^o5!>kG<%NwUYNlUxIU@ z->+E~L@$c|K=g<15Fa`BRYSLHj*tI?<8rO`6VabKrYoX96aBg9jzlp0h3GG3r3y(? ze^p2z9#_Y)FO9ORrta1TmPLO(PU4$U39qTI6%vT{9nn9F{zde!qJI;8SGExEAIIsq zaZJamtZYn){z*1YF=PHhdf+HG(EORG_O?Nj> zvThs=On!0{<#rE23$iE~> zaj@Th#0@1up+$nLeJ4kj&3q8LL(r2gllehGW85p6-_PSLDxAxbv`|;_odzF$qQZ8m zm$-uL*FG}(!ywHDCUv2`nGCW3VP=2uX*V@7Jk>dcYs2Lo5$6|h&BsI6d?B=%{VbmY zvb@Z0X^m%Q=NksuwhQPn{2Jp!FDf}r1SK56WP2W1)6FeBXS=(<$1~8SN`fSs;TbEK zoH`9QGbgj=AiBI4L|HW0@`E7~>O~OeXMtQTvF+6g%d06^5E5<*3N}otJ!CrHPw}Rw zabhzE+$BIaQu89R;3oX2gn9El)Jbmh8Gx1d7N|1w97MKAw^1n}ZSY4Mg!$NIEE)b3 z+c|pRjwc6zJ;H|#B6qMhWD65Si2~H?a1z|>P)(6V`4Ayw(0j=Bhp4{0ENog1Q$u(D zm422xnI=hzNBCbr9@_%4oYOx@wjkt1A$G0PK)T2Nn~#g- z5`eL>MAR^TRT<18k{aQ9%SbZ&_R{EW0!cq2ZN~=m|BPgPghe=LUG&tVs#B7QP2^2d z5hjigWZ!<`5)hvnE@o?gJd?ww95iJIDT>vT^M?}-YDn6Xg9<*6FOY@9mP54UJMauJ z=aA4XiICs;9%;zR0Z>i6kls+$l%woxQh(1;5{Kz!hX0?|!679&3p1L(1_y zPm?`s>S4h?Jks-7`*jm7^P6XP_vI>~xsA|omDelOEuJ_y5K#2{b_lugBFChZ=(f2LpZjV7Gy?dq@fl_7q`)_ zTA&%@F|D=3Y2ezl?+=2$@qIUGe81==*fK#J$z6Hzo$LhGgTc#d_tE@l@o}1$0EZc6 zZpR54Hfe57aT@jTIa7>mdgGV6m~DQNYV_5SHd+^v^XK(=FAAHt;`?!e500uwj;Z)} z(Ke5d0^W&bc1|Hf8tRI=gglwYx`=E!r!M2)HMNZAj@R<$Cgz%N43m3BfpLyheZK3u rwhQa}vH!BXA@1%bHCvI*O!~T3-dVvgXRjC8^8<&cYk>3KxvT#GqGeYr literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/sale_stage.cpython-32.pyc b/clinic/models/__pycache__/sale_stage.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4efc8f9c7a4906b0c841d1eb4e2221e0f62a0661 GIT binary patch literal 931 zcmb7CO>fgc5PeSUI7u6R1LEXUDskuuAw-2ZH9drrFRPVz>bR`!vLA;?h)eh#{8nbx zDQd+9EbVyS&dko64|};;=Rbb!8$A1R)<5v^H4Br$%wT~&L!F_Yp`M|iqn;xZ+Z;AW zU!X1~4A=$g1wNY`KRLVrWjL{a2`cfh#0l&O>{r!-pWk&XP|aDyg2nA<$VRc;cVvx^ zD^^ z1;af<|9YRWba>D`MNxL5ELm~%Eq0E~msGze?V3X}?Abs=GkN(ZAcgkiy(Ex)j;s!3 zRA*Aq&Di%e1fM{22D?f;)0I-fK&cd~q`%P$lqn=rlmyBL*9~nVs=m_k`Dldv%|W~L z+}%KLZ}o7TqRzvUIjYeaa?|7_xl(p)wDn3=jF3cp!`eXMesm2fY1~zsx4#mdIdF~J z$75Os>0|1m5cTrJ%j-%uCdw3^9^9t4{$agdM#a!s|M#+`R)mgcCW-#ANlkFnc0O>m VY?&(iukw~0^==x(ds*dF-EWJ{(3AiG literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/sale_target.cpython-32.pyc b/clinic/models/__pycache__/sale_target.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c263db11494a4799789c665424fd3457d4d0977 GIT binary patch literal 3623 zcmcIn>u(!H5TCQ1IIljS@6uAYCDc@{d*{d5mfDKYBn3ng+5}ZZLZ|iZUbyJ&bM8SK zxK-Yjx1G+ib%t1E~n|UyZmxrJL8`*3^&k7JsLbnK;MKJEm33!TPCP5jn zkNc)TO~Ljw>;nn_Sf4HzQO&B41C;YPq!T!-gi;0RB+fiv1u{;jak`}vr%Q~oK{y(& z>**9urAS0a#L6W)edw2De}>=q5v~RROA5#hRE%z*)#!#l3#tIy6XYklBMX2g@8=9O z+0Gb6kW*ufY0a1fIRkQ*;f5jSM${u2H4|mzYB@Q1 zYQ#Hzh<9ehJIiv;jn?N6VLur0E*#=r)I4XKyoLczXDP}eP?bbPn5c9P*Xy{BOBkQI3av*0vF97-?os60%5bcWI#;roDtIf~QXAAz8QJCaDO9 z7;?%>dv4-~y>tc_bYk_U^ynDR>83&AkBby6Cq0Isr6+ymCQ1&45-n4#G8W6u%zKdR z@^UBH9U4ZOGsDKYnGQ@(v*DLkEbQxH94 zZ2ko-_KpMWZ!o~hJxxHA_6zFfGW|LW{{C+Z{ux?u-XLpVYr#e1MGL0EFTeoJoPqvb z16#??0=JUEG?N}MX~U33un9E_eaWOP1AB~3C?q{*(vOD3RStEJ_Q(wA#rtd_DG%)g~Iy{`E34r$4FSR6`^K3{scL|ZFyg7@>z zwZ~!aT4`Z*k!f5U+#rnA-8=K~OUSp8oSr~GM!c+w5dGAUPWp5+K$XP#>s6j#&&=zH zjvt^?w=C0qMKoRseb*5R`|3?YgtrlE2$hGdD~$Dym-PuM?PH~%mcvS4rqa)K1(U;% zCvH>JwcN1R!!|^Xj9y`#D100%?yI9B&&`up*f6PQ4BIws5PkGarc}en8u_Rda6zPJ z0%LWDrTT-`m8t%4MT}M8G0?{cASpnj67?iWsq#9e>6uNd-c(Jy(`;62ve~xkEoC)? zlCo(jjS_C7A-s0m6<*Dh?YdhNp4+lIUZZ2TJ-4Y*u531>S(7c*M!Z||P@d`9cEdza z%{DcvDy40ARJ9}8xVa^oRbf`!RkJ1PX4AGB8s*vbM%!-GT)S=88qIp!6r{If)oV2q z*BWKlTMg5)g(Zcs>-Bo0W?HUjG)22@)|9AeRI6^=(v(%(wyU<+YPmHR;jXaiXsT^x zvd~^M+-@{1%jyWXCabNQOZHd2w(^wu7H#nP$IAtbH}{CuGMzgGv;7d_Iq37FL`P$E26hsUF#`M^Ww0VF9)GWSU9q(gwZmxe*x&IIAJ95 z^+@kKM=DR?J1S-i4qjTi|C0lb6NIh^V#j&Q2+#vnKeI?TM}U3;$4JaK6N literal 0 HcmV?d00001 diff --git a/clinic/models/__pycache__/utils.cpython-32.pyc b/clinic/models/__pycache__/utils.cpython-32.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5bbf22146d33d1e2c50adc77813fdc48cd8372b3 GIT binary patch literal 8469 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 F{trSQmz@9r literal 0 HcmV?d00001 diff --git a/clinic/models/clinic_doctor.py b/clinic/models/clinic_doctor.py new file mode 100644 index 0000000..fca0ddb --- /dev/null +++ b/clinic/models/clinic_doctor.py @@ -0,0 +1,54 @@ +from netforce.model import Model, fields, get_model +from netforce.utils import get_data_path +import time +from netforce.access import get_active_user +from netforce.access import get_active_company + +class Doctor(Model): + _name="clinic.doctor" + _string="Doctor" + _audit_log=True + _name_field="name" + _multi_company=True + _fields={ + "number": fields.Char("Number",required=True,search=True), + "name": fields.Char("Name Surname",required=True,search=True), + "date": fields.Date("Create Date",required=True,search=True), + "birthday": fields.Date("BirthDay",required=True,search=True), + "telephone": fields.Char("Telephone",required=True,search=True), + "department": fields.Char("Department",required=True,search=True), + "mobile": fields.Char("Mobile",required=True,search=True), + "state": fields.Selection([("draft","Draft"),("active","Active"),("deactive","Deactive")],"Status",required=True), + "addresses": fields.One2Many("address","related_id","Addresses"), + "comments": fields.One2Many("message","related_id","Comments"), + "patients": fields.Many2Many("clinic.patient","Patients"), + "company_id": fields.Many2One("company","Company"), + } + + def _get_number(self,context={}): + while 1: + num=get_model("sequence").get_number("sale_order") + if not num: + return None + res=self.search([["number","=",num]]) + if not res: + return num + get_model("sequence").increment("sale_order") + + + _defaults={ + "state": "draft", + "date": lambda *a: time.strftime("%Y-%m-%d"), + "number": _get_number, + "company_id": lambda *a: get_active_company(), + } + _order="date desc,number desc" + + + + def void(self,ids,context={}): + obj=self.browse(ids)[0] + obj.write({"state":"voided"}) + + +Doctor.register() diff --git a/clinic/models/clinic_nurse.py b/clinic/models/clinic_nurse.py new file mode 100644 index 0000000..99a836e --- /dev/null +++ b/clinic/models/clinic_nurse.py @@ -0,0 +1,54 @@ +from netforce.model import Model, fields, get_model +from netforce.utils import get_data_path +import time +from netforce.access import get_active_user +from netforce.access import get_active_company + +class Nurse(Model): + _name="clinic.nurse" + _string="Nurse" + _audit_log=True + _name_field="name" + _multi_company=True + _fields={ + "number": fields.Char("Number",required=True,search=True), + "name": fields.Char("Name Surname",required=True,search=True), + "date": fields.Date("Create Date",required=True,search=True), + "birthday": fields.Date("BirthDay",required=True,search=True), + "telephone": fields.Char("Telephone",required=True,search=True), + "department": fields.Char("Department",required=True,search=True), + "mobile": fields.Char("Mobile",required=True,search=True), + "state": fields.Selection([("draft","Draft"),("active","Active"),("deactive","Deactive")],"Status",required=True), + "addresses": fields.One2Many("address","related_id","Addresses"), + "comments": fields.One2Many("message","related_id","Comments"), + "patients": fields.Many2Many("clinic.patient","Patients"), + "company_id": fields.Many2One("company","Company"), + } + + def _get_number(self,context={}): + while 1: + num=get_model("sequence").get_number("sale_order") + if not num: + return None + res=self.search([["number","=",num]]) + if not res: + return num + get_model("sequence").increment("sale_order") + + + _defaults={ + "state": "draft", + "date": lambda *a: time.strftime("%Y-%m-%d"), + "number": _get_number, + "company_id": lambda *a: get_active_company(), + } + _order="date desc,number desc" + + + + def void(self,ids,context={}): + obj=self.browse(ids)[0] + obj.write({"state":"voided"}) + + +Nurse.register() diff --git a/clinic/models/clinic_patient.py b/clinic/models/clinic_patient.py new file mode 100644 index 0000000..7731f7b --- /dev/null +++ b/clinic/models/clinic_patient.py @@ -0,0 +1,98 @@ +from netforce.model import Model, fields, get_model +from netforce.utils import get_data_path +import time +from netforce.access import get_active_user +from netforce.access import get_active_company + +class Patient(Model): + _name="clinic.patient" + _string="Partients" + _audit_log=True + _name_field="number" + _multi_company=True + _fields={ + "number": fields.Char("Number",required=True,search=True), + "name": fields.Char("Name Surname",required=True,search=True), + "date": fields.Date("Create Date",required=True,search=True), + "birthday": fields.Date("BirthDay",required=True,search=True), + "telephone": fields.Char("Telephone",required=True,search=True), + "mobile": fields.Char("Mobile",required=True,search=True), + "job": fields.Char("Job"), + "age": fields.Integer("Age"), + "weight": fields.Integer("Weight (cm)"), + "height": fields.Integer("Height (Kg)"), + "card_type": fields.Selection([("iden_id","Identity Card"),("passport","Passport")],"ID From",required=True), + 'iden_id' : fields.Char("Identity ID"), + "app_no": fields.Char("Application No."), + "salary": fields.Float("Salary"), + 'exp_id' : fields.Date("Expiry Date"), + "state": fields.Selection([("draft","Draft"),("active","Active"),("deactive","Deactive")],"Status",required=True), + "addresses": fields.One2Many("address","related_id","Addresses"), + "gender": fields.Selection([("male","Male"),("female","Female")],"Gendel",required=True), + "marital_status": fields.Selection([("single","Single"),("marry","Marry"),("divorce","Divorce"),("separated","Saparated"),("widowed","Widowed")],"Marital Status",required=True), + "nationality": fields.Char("Nationality",search=True), + "race": fields.Char("Race",search=True), + "smoke": fields.Boolean("Smoke ?"), + "first_hemodialysis": fields.Date("First time Hemodialysis",required=True), + "hemodialysis": fields.Char("First Hemodialysis",required=True), + "clinic_after": fields.Selection([("small","Small"),("medium","Medium"),("large","Large")],"Clinic Lastime",required=True), + "clinic_after_name": fields.Char("Clinic after name",required=True), + "first_permanent_vascular_access": fields.Date("First time Permanent Vascular",required=True), + "first_tenckhoff_catheters": fields.Date("First time Tenckhoff Catheters",required=True), + "start_date_clinic": fields.Date("Start Date Clinic",required=True), + "waiting_transplantation": fields.Boolean("Kidney Transplantation Waiting ?"), + "who_transplantation": fields.Char("Who is Transplantation?"), + "reason_of_chronic_renal_failure": fields.Char("Reason chronic renal failure ?"), + "ac_mi": fields.Boolean("Acute MI"), + "co_an": fields.Boolean("Coronary Angioplasty"), + "ce_ac": fields.Boolean("Cerebrovascular Accident"), + "pvd": fields.Boolean("PVD or Amputation"), + "co_he": fields.Boolean("Congestive heart failure"), + "hypertnsion": fields.Boolean("Hypertension"), + "dia": fields.Boolean("Diabetes"), + "copd": fields.Boolean("Copd"), + "asthma": fields.Boolean("Asthma"), + "pul_tub": fields.Boolean("Pulmonary tuberculosis"), + "cancer": fields.Boolean("Cancer"), + "cirrhosis": fields.Boolean("Cirrhosis"), + "dyslip": fields.Boolean("Dyslipidemia"), + "prca": fields.Boolean("PRCA"), + "hyperucemia": fields.Boolean("Hyperurinencemia"), + "cga": fields.Boolean("Chronic gouty arthitis"), + "parathy": fields.Boolean("Parathyroidectomy"), + "comarbid": fields.Char("Co-morbid 1"), + "comarbid2": fields.Char("Co-morbid 2"), + "comments": fields.One2Many("message","related_id","Comments"), + "company_id": fields.Many2One("company","Company"), + "doctorsss": fields.Many2Many("clinic.doctor","Doctors"), + "nurses": fields.Many2Many("clinic.nurse","Nurses"), + "visits": fields.One2Many("clinic.visit","patient_id","Visits"), + } + + def _get_number(self,context={}): + while 1: + num=get_model("sequence").get_number("sale_order") + if not num: + return None + res=self.search([["number","=",num]]) + if not res: + return num + get_model("sequence").increment("sale_order") + + + _defaults={ + "state": "draft", + "date": lambda *a: time.strftime("%Y-%m-%d"), + "number": _get_number, + "company_id": lambda *a: get_active_company(), + } + _order="date desc,number desc" + + + + def void(self,ids,context={}): + obj=self.browse(ids)[0] + obj.write({"state":"voided"}) + + +Patient.register() diff --git a/clinic/models/clinic_visit.py b/clinic/models/clinic_visit.py new file mode 100644 index 0000000..16d9b81 --- /dev/null +++ b/clinic/models/clinic_visit.py @@ -0,0 +1,51 @@ +from netforce.model import Model, fields, get_model +from netforce.utils import get_data_path +import time +from netforce.access import get_active_user +from netforce.access import get_active_company + +class Visit(Model): + _name="clinic.visit" + _string="Visit" + _audit_log=True + _name_field="number" + _multi_company=True + _fields={ + "number": fields.Char("Number",required=True,search=True), + "patient_id": fields.Many2One("clinic.patient","Patients",required=True,search=True), + "doctor_id": fields.Many2One("clinic.doctor","Doctor",search=True), + "nurse_id": fields.Many2One("clinic.nurse","Nurse",search=True), + "date": fields.Date("Create Date",required=True,search=True), + "department": fields.Char("Department",required=True,search=True), + "state": fields.Selection([("draft","Draft"),("pending","Pending"),("confirmed","Confirmed"),("canceled","Canceled")],"Status",required=True), + "comments": fields.One2Many("message","related_id","Comments"), + "company_id": fields.Many2One("company","Company"), + } + + def _get_number(self,context={}): + while 1: + num=get_model("sequence").get_number("sale_order") + if not num: + return None + res=self.search([["number","=",num]]) + if not res: + return num + get_model("sequence").increment("sale_order") + + + _defaults={ + "state": "draft", + "date": lambda *a: time.strftime("%Y-%m-%d"), + "number": _get_number, + "company_id": lambda *a: get_active_company(), + } + _order="date desc,number desc" + + + + def void(self,ids,context={}): + obj=self.browse(ids)[0] + obj.write({"state":"voided"}) + + +Visit.register() diff --git a/clinic/reports/.~lock.quot_form_disc.odt# b/clinic/reports/.~lock.quot_form_disc.odt# new file mode 100644 index 0000000..34544d8 --- /dev/null +++ b/clinic/reports/.~lock.quot_form_disc.odt# @@ -0,0 +1 @@ +cash ,cash,cash-Inspiron,16.06.2014 16:46,file:///home/cash/.config/libreoffice/3; \ No newline at end of file diff --git a/clinic/reports/.~lock.sale_form.docx# b/clinic/reports/.~lock.sale_form.docx# new file mode 100644 index 0000000..3f47279 --- /dev/null +++ b/clinic/reports/.~lock.sale_form.docx# @@ -0,0 +1 @@ +David Janssens,datrus,len,19.07.2013 16:42,file:///home/datrus/.config/libreoffice/3; \ No newline at end of file diff --git a/clinic/reports/quot_form.odt b/clinic/reports/quot_form.odt new file mode 100644 index 0000000000000000000000000000000000000000..a201363bf5dd28519a9500413c195377007b3421 GIT binary patch literal 28966 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

KOBaawZ0D7sP77nSQY1D%rm!bp4IL< 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

SiRqRt5Mfs1NF397XV>bKhyVHW(LX#s%`gOe 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 YYmBS}?4$eD(C@xr?@o$ahW9`HAN>f*0ssI2 literal 0 HcmV?d00001 diff --git a/clinic/templates/activ_form_call.xml b/clinic/templates/activ_form_call.xml new file mode 100644 index 0000000..29ed6fd --- /dev/null +++ b/clinic/templates/activ_form_call.xml @@ -0,0 +1,41 @@ + + + + + + + + + + +

+ + + +
+
+ + +
+ +
+ +
+ + +
+ +
+
+ + +
+
+ + + + + + + + diff --git a/clinic/templates/activ_form_email.xml b/clinic/templates/activ_form_email.xml new file mode 100644 index 0000000..551d587 --- /dev/null +++ b/clinic/templates/activ_form_email.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + {{#ifeq context.data.state "new"}} + + + + {{/ifeq}} + + + diff --git a/clinic/templates/activ_form_event.xml b/clinic/templates/activ_form_event.xml new file mode 100644 index 0000000..e3a3a78 --- /dev/null +++ b/clinic/templates/activ_form_event.xml @@ -0,0 +1,44 @@ + + + + + + + + + + +
+ + + + +
+
+ + +
+
+ + +
+ + +
+
+ + +
+
+ +
+ +
+ +
+ + + +
+ +
diff --git a/clinic/templates/activ_form_meeting.xml b/clinic/templates/activ_form_meeting.xml new file mode 100644 index 0000000..3451a94 --- /dev/null +++ b/clinic/templates/activ_form_meeting.xml @@ -0,0 +1,44 @@ + + + + + + + + + + +
+ + + + +
+
+ + +
+
+ + +
+ + +
+
+ + +
+
+ +
+ +
+ +
+ + + +
+ +
diff --git a/clinic/templates/activ_form_task.xml b/clinic/templates/activ_form_task.xml new file mode 100644 index 0000000..8cc0450 --- /dev/null +++ b/clinic/templates/activ_form_task.xml @@ -0,0 +1,42 @@ + + + + + + + + + + +
+ + + +
+
+ + +
+
+
+ +
+ + +
+ + +
+
+ + +
+
+ +
+ + + +
+ +
diff --git a/clinic/templates/activ_list.xml b/clinic/templates/activ_list.xml new file mode 100644 index 0000000..082b25b --- /dev/null +++ b/clinic/templates/activ_list.xml @@ -0,0 +1,14 @@ + +{{include "activ_search" context=context}} + + + + + + + + + + + + diff --git a/clinic/templates/activ_page.xml b/clinic/templates/activ_page.xml new file mode 100644 index 0000000..311b3eb --- /dev/null +++ b/clinic/templates/activ_page.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/activ_search.xml b/clinic/templates/activ_search.xml new file mode 100644 index 0000000..a58f31b --- /dev/null +++ b/clinic/templates/activ_search.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/clinic/templates/activ_widget.xml b/clinic/templates/activ_widget.xml new file mode 100644 index 0000000..9510de9 --- /dev/null +++ b/clinic/templates/activ_widget.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/clinic/templates/convert_lead.xml b/clinic/templates/convert_lead.xml new file mode 100644 index 0000000..b57b829 --- /dev/null +++ b/clinic/templates/convert_lead.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/clinic/templates/exp_revenue_widget.xml b/clinic/templates/exp_revenue_widget.xml new file mode 100644 index 0000000..8798747 --- /dev/null +++ b/clinic/templates/exp_revenue_widget.xml @@ -0,0 +1,3 @@ + + + diff --git a/clinic/templates/lead_analysis.xml b/clinic/templates/lead_analysis.xml new file mode 100644 index 0000000..e4e4eed --- /dev/null +++ b/clinic/templates/lead_analysis.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + {{#if context.data.hide_details}} + + {{else}} + + {{/if}} + + + + +
+ + {{#if context.data.domain_str}} +
+ Filtered By: +
{{{context.data.domain_str}}}
+
+ {{/if}} + + {{view "action" options=context.data.report_action context=context}} +
diff --git a/clinic/templates/lead_form.xml b/clinic/templates/lead_form.xml new file mode 100644 index 0000000..696bca0 --- /dev/null +++ b/clinic/templates/lead_form.xml @@ -0,0 +1,78 @@ + + + + + + + {{#if context.data.id}} + +
+ + + + {{#ifeq context.data.state "qualified"}} + + {{/ifeq}} + + + + +
+
+ {{/if}} + + + +
+ + + + + +
+
+ + + + +
+
+ + +
+ + + + + +
+
+ +
+
+ + +
+ + +
+
+ + +
+
+ +
+ +
+ +
+ + + {{#ifeq context.data.state "new"}} + + {{/ifeq}} + +
+ +
diff --git a/clinic/templates/lead_list.xml b/clinic/templates/lead_list.xml new file mode 100644 index 0000000..ccee909 --- /dev/null +++ b/clinic/templates/lead_list.xml @@ -0,0 +1,14 @@ + +{{include "lead_search" context=context}} + + + + + + + + + + + + diff --git a/clinic/templates/lead_page.xml b/clinic/templates/lead_page.xml new file mode 100644 index 0000000..2266fd8 --- /dev/null +++ b/clinic/templates/lead_page.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/lead_report_list.xml b/clinic/templates/lead_report_list.xml new file mode 100644 index 0000000..1f08053 --- /dev/null +++ b/clinic/templates/lead_report_list.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/clinic/templates/lead_search.xml b/clinic/templates/lead_search.xml new file mode 100644 index 0000000..e68eeb0 --- /dev/null +++ b/clinic/templates/lead_search.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/templates/lead_to_contact.xml b/clinic/templates/lead_to_contact.xml new file mode 100644 index 0000000..633dd69 --- /dev/null +++ b/clinic/templates/lead_to_contact.xml @@ -0,0 +1,16 @@ + + + + diff --git a/clinic/templates/lead_to_partner.xml b/clinic/templates/lead_to_partner.xml new file mode 100644 index 0000000..7f5128c --- /dev/null +++ b/clinic/templates/lead_to_partner.xml @@ -0,0 +1,16 @@ + + + + diff --git a/clinic/templates/opport_analysis.xml b/clinic/templates/opport_analysis.xml new file mode 100644 index 0000000..034da1b --- /dev/null +++ b/clinic/templates/opport_analysis.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + {{#if context.data.hide_details}} + + {{else}} + + {{/if}} + + + + +
+ + {{#if context.data.domain_str}} +
+ Filtered By: +
{{{context.data.domain_str}}}
+
+ {{/if}} + + {{view "action" options=context.data.report_action context=context}} +
diff --git a/clinic/templates/opport_form.xml b/clinic/templates/opport_form.xml new file mode 100644 index 0000000..447caf6 --- /dev/null +++ b/clinic/templates/opport_form.xml @@ -0,0 +1,73 @@ + + + + + + + + {{field_value "state" context=context}} +
+ {{#if context.data.id}} + + + + + + + + + {{/if}} +
+
+ + + +
+ + + + +
+
+ + + + +
+
+ + +
+ + +
+
+ + +
+
+ + +
+ +
+
+ + +
+ + + {{#ifeq context.data.state "open"}} + + + {{/ifeq}} + {{#ifin context.data.state "won" "lost"}} + + {{/ifin}} + +
+ {{#if context.data.id}} + + {{/if}} + +
diff --git a/clinic/templates/opport_list.xml b/clinic/templates/opport_list.xml new file mode 100644 index 0000000..dde5298 --- /dev/null +++ b/clinic/templates/opport_list.xml @@ -0,0 +1,14 @@ + +{{include "opport_search" context=context}} + + + + + + + + + + + + diff --git a/clinic/templates/opport_page.xml b/clinic/templates/opport_page.xml new file mode 100644 index 0000000..3a6edf9 --- /dev/null +++ b/clinic/templates/opport_page.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/opport_report_list.xml b/clinic/templates/opport_report_list.xml new file mode 100644 index 0000000..34dc470 --- /dev/null +++ b/clinic/templates/opport_report_list.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/clinic/templates/opport_search.xml b/clinic/templates/opport_search.xml new file mode 100644 index 0000000..fc493b8 --- /dev/null +++ b/clinic/templates/opport_search.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/templates/opport_stage_widget.xml b/clinic/templates/opport_stage_widget.xml new file mode 100644 index 0000000..61a0b51 --- /dev/null +++ b/clinic/templates/opport_stage_widget.xml @@ -0,0 +1,3 @@ + + + diff --git a/clinic/templates/opport_widget.xml b/clinic/templates/opport_widget.xml new file mode 100644 index 0000000..93034aa --- /dev/null +++ b/clinic/templates/opport_widget.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/clinic/templates/pricelist_add.xml b/clinic/templates/pricelist_add.xml new file mode 100644 index 0000000..2c677d9 --- /dev/null +++ b/clinic/templates/pricelist_add.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/clinic/templates/pricelist_form.xml b/clinic/templates/pricelist_form.xml new file mode 100644 index 0000000..c6c03c9 --- /dev/null +++ b/clinic/templates/pricelist_form.xml @@ -0,0 +1,29 @@ + + + + + + + + {{#if context.data.id}} +
+ + + + + +
+ {{/if}} +
+ + + + + + + + + +
+ +
diff --git a/clinic/templates/pricelist_item_form.xml b/clinic/templates/pricelist_item_form.xml new file mode 100644 index 0000000..9df8916 --- /dev/null +++ b/clinic/templates/pricelist_item_form.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/clinic/templates/pricelist_item_list.xml b/clinic/templates/pricelist_item_list.xml new file mode 100644 index 0000000..1defa1e --- /dev/null +++ b/clinic/templates/pricelist_item_list.xml @@ -0,0 +1,9 @@ + +{{include "pricelist_item_search" context=context}} + + + + + + + diff --git a/clinic/templates/pricelist_item_page.xml b/clinic/templates/pricelist_item_page.xml new file mode 100644 index 0000000..0209e62 --- /dev/null +++ b/clinic/templates/pricelist_item_page.xml @@ -0,0 +1,9 @@ + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/pricelist_item_search.xml b/clinic/templates/pricelist_item_search.xml new file mode 100644 index 0000000..3ab4fa5 --- /dev/null +++ b/clinic/templates/pricelist_item_search.xml @@ -0,0 +1,4 @@ + + + + diff --git a/clinic/templates/pricelist_list.xml b/clinic/templates/pricelist_list.xml new file mode 100644 index 0000000..8fba2fb --- /dev/null +++ b/clinic/templates/pricelist_list.xml @@ -0,0 +1,9 @@ + +{{include "pricelist_search" context=context}} + + + + + + + diff --git a/clinic/templates/pricelist_page.xml b/clinic/templates/pricelist_page.xml new file mode 100644 index 0000000..e0c3e61 --- /dev/null +++ b/clinic/templates/pricelist_page.xml @@ -0,0 +1,10 @@ + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/pricelist_search.xml b/clinic/templates/pricelist_search.xml new file mode 100644 index 0000000..a12607f --- /dev/null +++ b/clinic/templates/pricelist_search.xml @@ -0,0 +1,4 @@ + + + + diff --git a/clinic/templates/quot_form.xml b/clinic/templates/quot_form.xml new file mode 100644 index 0000000..1d0d0f8 --- /dev/null +++ b/clinic/templates/quot_form.xml @@ -0,0 +1,80 @@ + + + {{#ifeq context.data.state "draft"}} + + {{/ifeq}} + {{#ifeq context.data.state "waiting_approval"}} + + {{/ifeq}} + {{#ifeq context.data.state "approved"}} + + {{/ifeq}} + {{#ifeq context.data.state "won"}} + + {{/ifeq}} + {{#ifeq context.data.state "lost"}} + + {{/ifeq}} + + + + + + {{field_value "state" context=context}} + {{#if context.data.id}} +
+ + + + + + + + + +
+ {{/if}} +
+ + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + {{#ifin context.data.state "draft" "waiting_approval"}} + + + + + {{/ifin}} + {{#ifeq context.data.state "approved"}} + + + {{/ifeq}} + {{#ifin context.data.state "won" "lost"}} + + {{/ifin}} + +
+ +
diff --git a/clinic/templates/quot_line_sheet.xml b/clinic/templates/quot_line_sheet.xml new file mode 100644 index 0000000..8da42c7 --- /dev/null +++ b/clinic/templates/quot_line_sheet.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/clinic/templates/quot_list.xml b/clinic/templates/quot_list.xml new file mode 100644 index 0000000..a9b17b0 --- /dev/null +++ b/clinic/templates/quot_list.xml @@ -0,0 +1,15 @@ + +{{include "quot_search" context=context}} + + + + + + + + + + + + + diff --git a/clinic/templates/quot_page.xml b/clinic/templates/quot_page.xml new file mode 100644 index 0000000..3b4a57f --- /dev/null +++ b/clinic/templates/quot_page.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/quot_rlist.xml b/clinic/templates/quot_rlist.xml new file mode 100644 index 0000000..f2e0a36 --- /dev/null +++ b/clinic/templates/quot_rlist.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/clinic/templates/quot_search.xml b/clinic/templates/quot_search.xml new file mode 100644 index 0000000..fb12a0e --- /dev/null +++ b/clinic/templates/quot_search.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/templates/quot_to_sale.xml b/clinic/templates/quot_to_sale.xml new file mode 100644 index 0000000..12c240a --- /dev/null +++ b/clinic/templates/quot_to_sale.xml @@ -0,0 +1,17 @@ + + + + diff --git a/clinic/templates/quot_widget.xml b/clinic/templates/quot_widget.xml new file mode 100644 index 0000000..fc4d5c1 --- /dev/null +++ b/clinic/templates/quot_widget.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/clinic/templates/report_opport_user.xml b/clinic/templates/report_opport_user.xml new file mode 100644 index 0000000..0ddaca6 --- /dev/null +++ b/clinic/templates/report_opport_user.xml @@ -0,0 +1,40 @@ +
+

+ Opportunities by Salesperson +

+

+ {{context.company_name}} +
+ From {{context.data.date_from}} to {{context.data.date_to}} +

+
+ + + + + {{#each context.data.stages}} + + {{/each}} + + + + {{#each context.data.lines}} + + + {{#each amounts}} + + {{/each}} + + {{/each}} + +
+ Salesperson + + {{this}} +
+ + {{user_name}} + + + {{this}} +
diff --git a/clinic/templates/report_opport_user_page.xml b/clinic/templates/report_opport_user_page.xml new file mode 100644 index 0000000..de348d2 --- /dev/null +++ b/clinic/templates/report_opport_user_page.xml @@ -0,0 +1,23 @@ + + + + + + +
+ +
+
+
+
+ +
+
+ + + + + + + + diff --git a/clinic/templates/report_sale_cust.xml b/clinic/templates/report_sale_cust.xml new file mode 100644 index 0000000..406ec56 --- /dev/null +++ b/clinic/templates/report_sale_cust.xml @@ -0,0 +1,67 @@ +
+

+ Sales by Customer +

+

+ {{context.company_name}} +
+ For the month ended {{context.data.date_to}} +

+
+ + + + + + + + + + + + + {{#each_group context.data.lines "categ_name"}} + + + + {{#each group_items}} + + + + + + + + + {{/each}} + {{/each_group}} + +
+ Partner + + {{context.data.month0}} + + {{context.data.month1}} + + {{context.data.month2}} + + {{context.data.month3}} + + Total +
+ {{categ_name}} +
+ + {{partner_name}} + + + {{month0}} + + {{month1}} + + {{month2}} + + {{month3}} + + {{total}} +
diff --git a/clinic/templates/report_sale_cust_page.xml b/clinic/templates/report_sale_cust_page.xml new file mode 100644 index 0000000..1370b07 --- /dev/null +++ b/clinic/templates/report_sale_cust_page.xml @@ -0,0 +1,22 @@ + + + + + +
+ +
+
+
+
+ +
+
+ + + + + + + + diff --git a/clinic/templates/report_sale_prod.xml b/clinic/templates/report_sale_prod.xml new file mode 100644 index 0000000..3e425c0 --- /dev/null +++ b/clinic/templates/report_sale_prod.xml @@ -0,0 +1,91 @@ +
+

+ Sales by Product +

+

+ {{context.company_name}} +
+ From {{context.data.date_from}} to {{context.data.date_to}} +

+
+ + + + + + + + + + + + {{#each_group context.data.lines "categ_name" sum="amount"}} + + + + {{#each group_items}} + + + + + + + + {{/each}} + + + + + + + {{/each_group}} + + + + + + + + + +
+ Product + + Current Unit Price + + Qty Sold + + Total + + Avg. Price +
+ {{categ_name}} +
+ + {{product_name}} + + + {{product_price}} + + + {{qty}} + + + + {{currency amount}} + + + + {{currency avg_price}} + +
+ Total {{categ_name}} + {{sum.amount}}
+ Total + + {{context.data.total_qty}} + + {{currency context.data.total_amount}} + + {{currency context.data.total_avg_price}} +
diff --git a/clinic/templates/report_sale_prod_page.xml b/clinic/templates/report_sale_prod_page.xml new file mode 100644 index 0000000..0bfc32a --- /dev/null +++ b/clinic/templates/report_sale_prod_page.xml @@ -0,0 +1,23 @@ + + + + + + +
+ +
+
+
+
+ +
+
+ + + + + + + + diff --git a/clinic/templates/report_sale_user.xml b/clinic/templates/report_sale_user.xml new file mode 100644 index 0000000..580de74 --- /dev/null +++ b/clinic/templates/report_sale_user.xml @@ -0,0 +1,60 @@ +
+

+ Sales by Salesperson +

+

+ {{context.company_name}} +
+ For the month ended {{context.data.date_to}} +

+
+ + + + + + + + + + + + + {{#each context.data.lines}} + + + + + + + + + {{/each}} + +
+ Salesperson + + {{context.data.month0}} + + {{context.data.month1}} + + {{context.data.month2}} + + {{context.data.month3}} + + Total +
+ + {{user_name}} + + + {{month0}} + + {{month1}} + + {{month2}} + + {{month3}} + + {{total}} +
diff --git a/clinic/templates/report_sale_user_page.xml b/clinic/templates/report_sale_user_page.xml new file mode 100644 index 0000000..a2ef2b7 --- /dev/null +++ b/clinic/templates/report_sale_user_page.xml @@ -0,0 +1,22 @@ + + + + + +
+ +
+
+
+
+ +
+
+ + + + + + + + diff --git a/clinic/templates/sale_analysis.xml b/clinic/templates/sale_analysis.xml new file mode 100644 index 0000000..bd58349 --- /dev/null +++ b/clinic/templates/sale_analysis.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + {{#if context.data.hide_details}} + + {{else}} + + {{/if}} + + + + +
+ + {{#if context.data.domain_str}} +
+ Filtered By: +
{{{context.data.domain_str}}}
+
+ {{/if}} + + {{view "action" options=context.data.report_action context=context}} +
diff --git a/clinic/templates/sale_board.xml b/clinic/templates/sale_board.xml new file mode 100644 index 0000000..04c0de5 --- /dev/null +++ b/clinic/templates/sale_board.xml @@ -0,0 +1,17 @@ + +
+
+ + + + +
+
+ + + + +
+
+
+ diff --git a/clinic/templates/sale_contact_form.xml b/clinic/templates/sale_contact_form.xml new file mode 100644 index 0000000..932d277 --- /dev/null +++ b/clinic/templates/sale_contact_form.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + +
+ + + + + + +
+
+ + + +
+
+ + + + + +
+ + + +
+ +
diff --git a/clinic/templates/sale_contact_list.xml b/clinic/templates/sale_contact_list.xml new file mode 100644 index 0000000..ae2f4e9 --- /dev/null +++ b/clinic/templates/sale_contact_list.xml @@ -0,0 +1,9 @@ + +{{#if context.data}} + +{{/if}} + + + + + diff --git a/clinic/templates/sale_contact_page.xml b/clinic/templates/sale_contact_page.xml new file mode 100644 index 0000000..629f63a --- /dev/null +++ b/clinic/templates/sale_contact_page.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/sale_customer_widget.xml b/clinic/templates/sale_customer_widget.xml new file mode 100644 index 0000000..8ce752e --- /dev/null +++ b/clinic/templates/sale_customer_widget.xml @@ -0,0 +1,3 @@ + + + diff --git a/clinic/templates/sale_form.xml b/clinic/templates/sale_form.xml new file mode 100644 index 0000000..b9d8175 --- /dev/null +++ b/clinic/templates/sale_form.xml @@ -0,0 +1,87 @@ + + + {{#ifeq context.data.state "draft"}} + + {{/ifeq}} + {{#ifeq context.data.state "confirmed"}} + + {{/ifeq}} + {{#ifeq context.data.state "done"}} + + {{/ifeq}} + + + + + + {{field_value "state" context=context}} +
+ {{#if context.data.id}} + + {{/if}} + + {{#ifeq context.data.state "draft"}} + + {{/ifeq}} + {{#if context.data.id}} + {{#ifeq context.data.state "confirmed"}} + + + {{/ifeq}} + + {{#ifin context.data.state "confirmed" "done"}} + + + {{/ifin}} + + + + + {{/if}} + +
+
+ + +
+ + + + + + + + + + + + +
+
+ + +
+
+ +
+ + + +
+ + + +
+ {{#ifin context.data.state "draft"}} + + + + + {{/ifin}} +
+ {{#if context.data.id}} + + + {{/if}} + +
diff --git a/clinic/templates/sale_invoice_rlist.xml b/clinic/templates/sale_invoice_rlist.xml new file mode 100644 index 0000000..b07487c --- /dev/null +++ b/clinic/templates/sale_invoice_rlist.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/clinic/templates/sale_layout.xml b/clinic/templates/sale_layout.xml new file mode 100644 index 0000000..bd7e798 --- /dev/null +++ b/clinic/templates/sale_layout.xml @@ -0,0 +1,11 @@ +
+
+ {{include "main_header" context=context}} + {{include "sale_menu" context=context}} +
+
+
+ {{{context.content}}} +
+
+
diff --git a/clinic/templates/sale_line_list.xml b/clinic/templates/sale_line_list.xml new file mode 100644 index 0000000..7c3eefd --- /dev/null +++ b/clinic/templates/sale_line_list.xml @@ -0,0 +1,13 @@ + + + active_id={{context.data.order_id.0.}} + + + + + + + + + + diff --git a/clinic/templates/sale_line_list_to_deliver.xml b/clinic/templates/sale_line_list_to_deliver.xml new file mode 100644 index 0000000..f32b92e --- /dev/null +++ b/clinic/templates/sale_line_list_to_deliver.xml @@ -0,0 +1,18 @@ +{{#if context.data}} + + + +{{/if}} + + + active_id={{context.data.order_id.0.}} + + + + + + + + + + diff --git a/clinic/templates/sale_line_list_to_invoice.xml b/clinic/templates/sale_line_list_to_invoice.xml new file mode 100644 index 0000000..ad4c894 --- /dev/null +++ b/clinic/templates/sale_line_list_to_invoice.xml @@ -0,0 +1,18 @@ + +{{#if context.data}} + + + +{{/if}} + + active_id={{context.data.order_id.0.}} + + + + + + + + + + diff --git a/clinic/templates/sale_line_page.xml b/clinic/templates/sale_line_page.xml new file mode 100644 index 0000000..947fd8a --- /dev/null +++ b/clinic/templates/sale_line_page.xml @@ -0,0 +1,8 @@ + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/sale_list.xml b/clinic/templates/sale_list.xml new file mode 100644 index 0000000..09f67c8 --- /dev/null +++ b/clinic/templates/sale_list.xml @@ -0,0 +1,15 @@ + +{{include "sale_search" context=context}} + + + + + + + + + + + + + diff --git a/clinic/templates/sale_month_widget.xml b/clinic/templates/sale_month_widget.xml new file mode 100644 index 0000000..c88f9af --- /dev/null +++ b/clinic/templates/sale_month_widget.xml @@ -0,0 +1,3 @@ + + + diff --git a/clinic/templates/sale_order_line_sheet.xml b/clinic/templates/sale_order_line_sheet.xml new file mode 100644 index 0000000..1433ba1 --- /dev/null +++ b/clinic/templates/sale_order_line_sheet.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/clinic/templates/sale_page.xml b/clinic/templates/sale_page.xml new file mode 100644 index 0000000..36d53a8 --- /dev/null +++ b/clinic/templates/sale_page.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/sale_pick_rlist.xml b/clinic/templates/sale_pick_rlist.xml new file mode 100644 index 0000000..95c6af6 --- /dev/null +++ b/clinic/templates/sale_pick_rlist.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/templates/sale_prod_categ_widget.xml b/clinic/templates/sale_prod_categ_widget.xml new file mode 100644 index 0000000..44adae4 --- /dev/null +++ b/clinic/templates/sale_prod_categ_widget.xml @@ -0,0 +1,3 @@ + + + diff --git a/clinic/templates/sale_product_form.xml b/clinic/templates/sale_product_form.xml new file mode 100644 index 0000000..7a2ab82 --- /dev/null +++ b/clinic/templates/sale_product_form.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clinic/templates/sale_product_list.xml b/clinic/templates/sale_product_list.xml new file mode 100644 index 0000000..b0f2623 --- /dev/null +++ b/clinic/templates/sale_product_list.xml @@ -0,0 +1,11 @@ + +{{#if context.data}} + +{{/if}} + + + + + + + diff --git a/clinic/templates/sale_product_page.xml b/clinic/templates/sale_product_page.xml new file mode 100644 index 0000000..5f70159 --- /dev/null +++ b/clinic/templates/sale_product_page.xml @@ -0,0 +1,11 @@ + + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/sale_report_list.xml b/clinic/templates/sale_report_list.xml new file mode 100644 index 0000000..ecd20bb --- /dev/null +++ b/clinic/templates/sale_report_list.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/clinic/templates/sale_search.xml b/clinic/templates/sale_search.xml new file mode 100644 index 0000000..3a15d25 --- /dev/null +++ b/clinic/templates/sale_search.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/clinic/templates/sale_target_form.xml b/clinic/templates/sale_target_form.xml new file mode 100644 index 0000000..4fba4c0 --- /dev/null +++ b/clinic/templates/sale_target_form.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/clinic/templates/sale_target_list.xml b/clinic/templates/sale_target_list.xml new file mode 100644 index 0000000..c7539f7 --- /dev/null +++ b/clinic/templates/sale_target_list.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/clinic/templates/sale_target_page.xml b/clinic/templates/sale_target_page.xml new file mode 100644 index 0000000..f687759 --- /dev/null +++ b/clinic/templates/sale_target_page.xml @@ -0,0 +1,9 @@ + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/sale_to_inv.xml b/clinic/templates/sale_to_inv.xml new file mode 100644 index 0000000..3f5acac --- /dev/null +++ b/clinic/templates/sale_to_inv.xml @@ -0,0 +1,16 @@ + + + + diff --git a/clinic/templates/sale_to_pick.xml b/clinic/templates/sale_to_pick.xml new file mode 100644 index 0000000..2978199 --- /dev/null +++ b/clinic/templates/sale_to_pick.xml @@ -0,0 +1,17 @@ + + + + diff --git a/clinic/templates/sale_widget.xml b/clinic/templates/sale_widget.xml new file mode 100644 index 0000000..925cfe8 --- /dev/null +++ b/clinic/templates/sale_widget.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/clinic/templates/stage_form.xml b/clinic/templates/stage_form.xml new file mode 100644 index 0000000..57c834e --- /dev/null +++ b/clinic/templates/stage_form.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/clinic/templates/stage_list.xml b/clinic/templates/stage_list.xml new file mode 100644 index 0000000..4b0c079 --- /dev/null +++ b/clinic/templates/stage_list.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/clinic/templates/stage_page.xml b/clinic/templates/stage_page.xml new file mode 100644 index 0000000..60f6851 --- /dev/null +++ b/clinic/templates/stage_page.xml @@ -0,0 +1,10 @@ + + + + + + + + + {{{context.content}}} + diff --git a/clinic/templates/view_quot.xml b/clinic/templates/view_quot.xml new file mode 100644 index 0000000..8d76932 --- /dev/null +++ b/clinic/templates/view_quot.xml @@ -0,0 +1,123 @@ + + + + + + +
+ {{#if logo}} + + {{/if}} + +
+
+ +

+ {{partner_name}} +

+
+ {{#if exp_date}} +
+ +

+ {{exp_date}} +

+
+ {{/if}} +
+
+ +

+ {{user_name}} +

+
+ {{#ifeq state "approved"}} +
+ + +
+ {{else}} +
+ +

+ {{#ifeq state "draft"}} + Draft + {{/ifeq}} + {{#ifeq state "waiting_approval"}} + Waiting Approval + {{/ifeq}} + {{#ifeq state "won"}} + Won + {{/ifeq}} + {{#ifeq state "lost"}} + Lost + {{/ifeq}} +

+
+ {{/ifeq}} +
+ {{num_comments}} Comments +
+ {{#each comments}} +
+

Posted on {{date}}

+

{{body}}

+
+ {{/each}} +
+ +
+ +
+
+ + + diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..65f148e --- /dev/null +++ b/setup.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 +from netforce.setup import setup + +setup( + name="clinic", + version="0.1.0", + description="Ratchawat Clinic module", +)