@ -0,0 +1,44 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
||||
|
:target: http://www.gnu.org/licenses/agpl.html |
||||
|
:alt: License: AGPL-3 |
||||
|
|
||||
|
Adult Day Care Center |
||||
|
====================== |
||||
|
This module allow to manage Adult day care center. |
||||
|
|
||||
|
Company |
||||
|
------- |
||||
|
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__ |
||||
|
|
||||
|
License |
||||
|
------- |
||||
|
Affero General Public License, Version 3 (AGPL v3). |
||||
|
(http://www.gnu.org/licenses/agpl.html) |
||||
|
|
||||
|
Credits |
||||
|
------- |
||||
|
Developer:(V16) Javid A , |
||||
|
(V17) Gayathri V |
||||
|
Contact: odoo@cybrosys.com |
||||
|
|
||||
|
Contacts |
||||
|
-------- |
||||
|
* Mail Contact : odoo@cybrosys.com |
||||
|
* Website : https://cybrosys.com |
||||
|
|
||||
|
Bug Tracker |
||||
|
----------- |
||||
|
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. |
||||
|
|
||||
|
Maintainer |
||||
|
========== |
||||
|
.. image:: https://cybrosys.com/images/logo.png |
||||
|
:target: https://cybrosys.com |
||||
|
|
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
|
||||
|
For support and more information, please visit `Our Website <https://cybrosys.com/>`__ |
||||
|
|
||||
|
Further information |
||||
|
=================== |
||||
|
HTML Description: `<static/description/index.html>`__ |
@ -0,0 +1,23 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
########################################################################## |
||||
|
from . import models |
||||
|
from . import controllers |
@ -0,0 +1,56 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
########################################################################## |
||||
|
{ |
||||
|
'name': "Adult Day Care Center", |
||||
|
'version': '17.0.1.0.0', |
||||
|
'category': 'Tools', |
||||
|
'summary': """ Adult Day Care Center For Senior Citizens """, |
||||
|
'description': """ Adult Day Care Center For Senior Citizens""", |
||||
|
'author': "Cybrosys Techno Solutions", |
||||
|
'company': 'Cybrosys Techno Solutions', |
||||
|
'maintainer': 'Cybrosys Techno Solutions', |
||||
|
'website': "https://www.cybrosys.com", |
||||
|
'depends': ['crm', 'project', 'sale_management', 'website', 'account', |
||||
|
'hr'], |
||||
|
'data': [ |
||||
|
'security/ir.model.access.csv', |
||||
|
'security/adult_daycare_center_groups.xml', |
||||
|
'data/website_data.xml', |
||||
|
'views/res_partners_views.xml', |
||||
|
'views/crm_lead_views.xml', |
||||
|
'views/product_template_views.xml', |
||||
|
'views/assessment_request_template.xml', |
||||
|
'views/assessment_request_submit_template.xml', |
||||
|
'views/activity_type_views.xml', |
||||
|
'views/daycare_activities_views.xml', |
||||
|
'views/sale_order_views.xml', |
||||
|
'views/menu_views.xml', |
||||
|
'reports/res_partner_report.xml', |
||||
|
'reports/crm_lead_report.xml', |
||||
|
'reports/sale_template_inherit.xml', |
||||
|
], |
||||
|
'images': ['static/description/banner.jpg'], |
||||
|
'license': 'AGPL-3', |
||||
|
'installable': True, |
||||
|
'auto_install': False, |
||||
|
'application': False, |
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################# |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V(<https://www.cybrosys.com>) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################# |
||||
|
from . import adult_daycare_center |
@ -0,0 +1,110 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. If not, |
||||
|
# see <http://www.gnu.org/licenses/>. |
||||
|
# ###################################################################### |
||||
|
from odoo import http |
||||
|
from odoo.http import request |
||||
|
|
||||
|
|
||||
|
class RoomBooking(http.Controller): |
||||
|
@http.route(['/assessment_request'], type='http', auth="public", |
||||
|
website=True) |
||||
|
def assessment_request(self, **kw): |
||||
|
""" |
||||
|
Redirects to Assessment Request Form |
||||
|
""" |
||||
|
partners = request.env['res.partner'].sudo().search([]) |
||||
|
rooms = request.env['crm.lead'].sudo().search([]) |
||||
|
values = { |
||||
|
'guests': partners, |
||||
|
'rooms': rooms |
||||
|
} |
||||
|
return request.render("adult_daycare_center.assessment_request_form", |
||||
|
values) |
||||
|
|
||||
|
@http.route('/assessment_request/submit', type='http', csrf=False, |
||||
|
auth="public", website=True) |
||||
|
def assessment_request_submit(self, **kw): |
||||
|
""" |
||||
|
Assessment Request Submitted and a lead created |
||||
|
""" |
||||
|
hours, minutes = map(int, kw.get('arrive_time').split(':')) |
||||
|
|
||||
|
# Convert to total hours as float |
||||
|
arrive_time_hours = hours + minutes / 60 |
||||
|
|
||||
|
# Convert to total hours as float |
||||
|
departure_time_hours = hours + minutes / 60 |
||||
|
lead = request.env['crm.lead'].sudo().create({ |
||||
|
'type': 'lead', |
||||
|
'name': kw.get('subject'), |
||||
|
'contact_name': kw.get('applicant_name'), |
||||
|
'birth_date': kw.get('birth_date'), |
||||
|
'gender': kw.get('gender'), |
||||
|
'street': kw.get('street'), |
||||
|
'city': kw.get('city'), |
||||
|
'marital_status': kw.get('marital_status'), |
||||
|
'present_living': kw.get('living_arrangement'), |
||||
|
'medicaid': kw.get('medicaid'), |
||||
|
'medicare': kw.get('medicare'), |
||||
|
'supplemental_income': kw.get('sup_sec_income'), |
||||
|
'interest_program': kw.get('why_interest'), |
||||
|
'previous_experience': kw.get('experience'), |
||||
|
'where_when': kw.get('where_when'), |
||||
|
'living_with_whom': kw.get('living_with_whom'), |
||||
|
'relationship_responsible_relative': kw.get('relation_with_living'), |
||||
|
'nearest_relative': kw.get('nearest_relative'), |
||||
|
'nearest_relative_relation': kw.get('nearest_relative_relation'), |
||||
|
'employed_at': kw.get('employed_where'), |
||||
|
'business_phone': kw.get('business_phone'), |
||||
|
'emergency_name': kw.get('emergency_contact_1'), |
||||
|
'applicant_relationship': kw.get('applicant_relation_1'), |
||||
|
'emergency_address': kw.get('emergency_address_1'), |
||||
|
'emergency_phone': kw.get('emergency_phone_1'), |
||||
|
'emergency_name_1': kw.get('emergency_contact_2'), |
||||
|
'applicant_relationship_2': kw.get('applicant_relation_2'), |
||||
|
'emergency_address_1': kw.get('emergency_address_2'), |
||||
|
'emergency_phone_1': kw.get('emergency_phone_2'), |
||||
|
'physician_name': kw.get('physician_name'), |
||||
|
'physician_address': kw.get('physician_address'), |
||||
|
'physician_phone': kw.get('physician_phone'), |
||||
|
'physician_last_visit': kw.get('physician_last_visit'), |
||||
|
'dentist_name': kw.get('dentist_name'), |
||||
|
'dentist_address': kw.get('dentist_address'), |
||||
|
'dentist_phone': kw.get('dentist_phone'), |
||||
|
'dentist_last_visit': kw.get('dentist_last_visit'), |
||||
|
'transportation': kw.get('transport_provider'), |
||||
|
'arrival_time': round(arrive_time_hours,2), |
||||
|
'departure_time': round(departure_time_hours,2), |
||||
|
'special_diet': kw.get('diet'), |
||||
|
'diet_detail': kw.get('diet_detail'), |
||||
|
'allergies': kw.get('allergies'), |
||||
|
'request_assurance': kw.get('request_assurance'), |
||||
|
'paid_by': kw.get('paid_by'), |
||||
|
'paid_by_name': kw.get('paid_by_name'), |
||||
|
'paid_by_phone': kw.get('paid_by_phone'), |
||||
|
'your_email': kw.get('email'), |
||||
|
'email_from': kw.get('email'), |
||||
|
'hospital_name': kw.get('hospital_choice'), |
||||
|
}) |
||||
|
vals = { |
||||
|
'lead': lead, |
||||
|
} |
||||
|
return request.render( |
||||
|
"adult_daycare_center.assessment_request_submit_template", vals) |
@ -0,0 +1,9 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
<record id="menu_assessment_request" model="website.menu"> |
||||
|
<field name="name">Self Assessment Request</field> |
||||
|
<field name="url">/assessment_request</field> |
||||
|
<field name="parent_id" ref="website.main_menu" /> |
||||
|
<field name="sequence" type="int">22</field> |
||||
|
</record> |
||||
|
</odoo> |
@ -0,0 +1,7 @@ |
|||||
|
## Module <adult_daycare_center> |
||||
|
|
||||
|
#### 26.09.2024 |
||||
|
#### Version 17.0.1.0.0 |
||||
|
#### ADD |
||||
|
|
||||
|
- Initial commit for Adult Day Care Center |
@ -0,0 +1,27 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
# ###################################################################### |
||||
|
from . import res_partner |
||||
|
from . import crm_lead |
||||
|
from . import product_template |
||||
|
from . import activity_type |
||||
|
from . import daycare_activities |
||||
|
from . import sale_order |
@ -0,0 +1,29 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
# ###################################################################### |
||||
|
from odoo import models, fields |
||||
|
|
||||
|
|
||||
|
class ActivityTypes(models.Model): |
||||
|
_name = 'activity.type' |
||||
|
_description = 'Activity Types' |
||||
|
|
||||
|
name = fields.Char(string='Name', help='Name of the activity type') |
@ -0,0 +1,178 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
# ###################################################################### |
||||
|
from odoo import models, fields |
||||
|
|
||||
|
|
||||
|
class DaycareRequests(models.Model): |
||||
|
_inherit = 'crm.lead' |
||||
|
|
||||
|
birth_date = fields.Date(string='Birthdate', help='Birth date') |
||||
|
gender = fields.Selection([('male', 'Male'), ('female', 'Female')], |
||||
|
string='Gender', help="Gender (male or female)") |
||||
|
medicaid = fields.Integer(string='Medicaid', help='Medication identifier') |
||||
|
medicare = fields.Integer(string='Medicare', |
||||
|
help='Medication care identifier') |
||||
|
supplemental_income = fields.Float(string='Supplemental Security Income', |
||||
|
help="Income for supplemental") |
||||
|
interest_program = fields.Char(string='Interest In Program', |
||||
|
help="Interested program of the person") |
||||
|
previous_experience = fields.Selection([('yes', 'Yes'), ('no', 'No')], |
||||
|
string='Previous Experience', |
||||
|
help="Experience in previous") |
||||
|
where_when = fields.Char(string='Where and When', |
||||
|
help="The experienced place") |
||||
|
marital_status = fields.Selection( |
||||
|
[('single', 'Single'), ('married', 'Married'), |
||||
|
('separated', 'Separated'), ('widowed', 'Widowed'), |
||||
|
('divorced', 'Divorced')], string='Status', help="Marital status") |
||||
|
present_living = fields.Selection([('with_relative', 'With Relative'), |
||||
|
('non_relative', 'With Non-Relative'), |
||||
|
('home_alone', 'Alone(Home/Apartment)'), |
||||
|
('alone_single', 'Alone(Single Room)')], |
||||
|
string='Present Living Arrangement', |
||||
|
help="Current Living") |
||||
|
living_with_whom = fields.Char(string='Living With Whom', |
||||
|
help="Living With Whom") |
||||
|
living_with = fields.Char(string='Living With', help="Living With") |
||||
|
relationship_responsible_relative = fields.Char( |
||||
|
string='Relationship Responsible Relative', |
||||
|
help="Responsible Relative of Relationship") |
||||
|
nearest_relative = fields.Char(string='Nearest Relative', |
||||
|
help="Nearest Relative of Relationship") |
||||
|
nearest_relative_relation = fields.Char(string='Nearest Relative Relation', |
||||
|
help="Relation for nearest Relative") |
||||
|
business_phone = fields.Char(string='Business Phone', |
||||
|
help="Phone for Business") |
||||
|
emergency_name = fields.Char(string='Emergency Name', |
||||
|
help="Name for emergency") |
||||
|
applicant_relationship = fields.Char(string='Applicant Relationship', |
||||
|
help="Relationship for applicant") |
||||
|
emergency_address = fields.Text(string='Emergency Address', |
||||
|
help="Address for Emergency") |
||||
|
emergency_phone = fields.Char(string='Emergency Phone', |
||||
|
help="Phone for Emergency") |
||||
|
emergency_name_1 = fields.Char(string='Emergency Name#1', |
||||
|
help="Name for emergency") |
||||
|
applicant_relationship_2 = fields.Char(string='Applicant Relationship#2', |
||||
|
help="Relationship for application") |
||||
|
emergency_address_1 = fields.Text(string='Emergency Address#1', |
||||
|
help="Address") |
||||
|
emergency_phone_1 = fields.Char(string='Emergency Phone#1', help="Phone") |
||||
|
physician_name = fields.Char(string='Physician Name', |
||||
|
help="Name of the Physician") |
||||
|
physician_address = fields.Text(string='Physician Address', |
||||
|
help="Address of the Physician") |
||||
|
physician_phone = fields.Char(string='Physician Phone', |
||||
|
help="Phone of the Physician") |
||||
|
physician_last_visit = fields.Date(string='Physician Last Visit', |
||||
|
help="Last Date that visit the physician") |
||||
|
dentist_name = fields.Char(string='Dentist Name', |
||||
|
help="Name of the dentist") |
||||
|
dentist_address = fields.Text(string='Dentist Address', |
||||
|
help="Address of the dentist") |
||||
|
dentist_phone = fields.Char(string='Dentist Phone', |
||||
|
help="Phone number of the dentist") |
||||
|
dentist_last_visit = fields.Date(string='Dentist Last Visit', |
||||
|
help="Last Date that visit the dentist") |
||||
|
transportation = fields.Selection( |
||||
|
[('relative_friend', 'Relative or Friend'), |
||||
|
('public_transport', 'Public Transportation'), |
||||
|
('blessed_assurance', 'Blessed Assurance')], |
||||
|
string='Transportation', help="Transportation") |
||||
|
arrival_time = fields.Float(string='Arrival TIme', help="Time of Arrival") |
||||
|
departure_time = fields.Float(string='Departure Time', |
||||
|
help="Time of Departure") |
||||
|
special_diet = fields.Selection([('yes', 'Yes'), ('no', 'No')], |
||||
|
string='Special Diet', help="Special diets") |
||||
|
responsible = fields.Char(string='Responsible', help="Responsible Person") |
||||
|
paid_by = fields.Selection([('myself', 'Myself'), ('relative', 'Relative'), |
||||
|
('another_party', 'Another Party')], |
||||
|
string='Paid By', help="Payment by") |
||||
|
paid_by_name = fields.Char(string='Payer Name', help="Name of the payer") |
||||
|
paid_by_phone = fields.Char(string='Payer Phone', |
||||
|
help="Phone number of the payer") |
||||
|
your_email = fields.Char(string='Your Email', help="Email id") |
||||
|
hospital_name = fields.Char(string='Hospital Name', |
||||
|
help="Name of the hospital") |
||||
|
today_date = fields.Date(string='Today Date', default=fields.Date.today, |
||||
|
help="Date of today") |
||||
|
diet_detail = fields.Char(string='Diet Detail', help="Detail of the Diet") |
||||
|
allergies = fields.Char(string='List of Allergies', help="All Allergies") |
||||
|
time_request = fields.Char(string='Time Request', help="Requested Time") |
||||
|
employed_at = fields.Char(string='Employed At', help="Employed") |
||||
|
request_assurance = fields.Char(string='Blessed Assurance', |
||||
|
help="Assurance") |
||||
|
|
||||
|
def action_updt_adult_info(self): |
||||
|
""" |
||||
|
This function Updates the daycare data inside res.partner with the |
||||
|
corresponding data in the crm.lead model |
||||
|
""" |
||||
|
adult_person = self.env['res.partner'].browse(self.partner_id.id) |
||||
|
adult_person.update({ |
||||
|
'is_customer': True, |
||||
|
'is_adult_member': True, |
||||
|
'medicare_no': self.medicare, |
||||
|
'medicaid_no': self.medicaid, |
||||
|
'birth_date': self.birth_date, |
||||
|
'marital_status': self.marital_status, |
||||
|
'physician_id': self.physician_name, |
||||
|
'physician_address': self.physician_address, |
||||
|
'physician_phone': self.physician_phone, |
||||
|
'dentist_id': self.dentist_name, |
||||
|
'dentist_address': self.dentist_address, |
||||
|
'dentist_phone': self.dentist_phone, |
||||
|
'dentist_last_visit': self.dentist_last_visit, |
||||
|
'transportation': self.transportation, |
||||
|
'arrival_time': self.arrival_time, |
||||
|
'departure_time': self.departure_time, |
||||
|
'special_diet': self.special_diet, |
||||
|
'diet_detail': self.diet_detail, |
||||
|
'allergies': self.allergies, |
||||
|
'time_request': self.time_request, |
||||
|
'emergency_name': self.emergency_name, |
||||
|
'applicant_relationship': self.applicant_relationship, |
||||
|
'emergency_address': self.emergency_address, |
||||
|
'emergency_phone': self.emergency_phone, |
||||
|
'emergency_name_1': self.emergency_name_1, |
||||
|
'applicant_relationship_2': self.applicant_relationship_2, |
||||
|
'emergency_address_1': self.emergency_address_1, |
||||
|
'emergency_phone_1': self.emergency_phone_1, |
||||
|
'responsible': self.responsible, |
||||
|
'paid_by': self.paid_by, |
||||
|
'paid_by_name': self.paid_by_name, |
||||
|
'paid_by_phone': self.paid_by_phone, |
||||
|
'your_email': self.your_email, |
||||
|
'hospital_name': self.hospital_name, |
||||
|
'today_date': self.today_date, |
||||
|
'interest_program': self.interest_program, |
||||
|
'previous_experience': self.previous_experience, |
||||
|
'where_when': self.where_when, |
||||
|
'present_living': self.present_living, |
||||
|
'living_with_whom': self.living_with_whom, |
||||
|
'living_with': self.living_with, |
||||
|
'relationship_responsible_relative': self.relationship_responsible_relative, |
||||
|
'nearest_relative': self.nearest_relative, |
||||
|
'nearest_relative_relation': self.nearest_relative_relation, |
||||
|
'business_phone': self.business_phone, |
||||
|
'employed_at': self.employed_at, |
||||
|
}) |
@ -0,0 +1,41 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
########################################################################## |
||||
|
from odoo import models, fields |
||||
|
|
||||
|
|
||||
|
class DaycareActivitiesView(models.Model): |
||||
|
_name = 'daycare.activities' |
||||
|
_description = 'Day Care Activities' |
||||
|
|
||||
|
activity_id = fields.Many2one('activity.type', string='Name', |
||||
|
help="Activity Name", required=True) |
||||
|
product_id = fields.Many2one('product.template', string='Product', |
||||
|
required=True, help="Adult activity", |
||||
|
domain=[('is_adult_activity', '=', True)]) |
||||
|
notes = fields.Char(string='Notes', help="Extra information") |
||||
|
time_in = fields.Float(string='Time In', help="Time in for the activity") |
||||
|
time_out = fields.Float(string='Time Out', help="Time out for the activity") |
||||
|
responsible = fields.Many2one('res.users', string='Responsible By', |
||||
|
help="Responsible by the activity") |
||||
|
res_partner_id = fields.Many2one('res.partner', string='Partner', |
||||
|
help="Responsible partner for the " |
||||
|
"activity") |
@ -0,0 +1,30 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################ |
||||
|
from odoo import models, fields |
||||
|
|
||||
|
|
||||
|
class DaycareActivityTypes(models.Model): |
||||
|
_inherit = 'product.template' |
||||
|
|
||||
|
is_adult_activity = fields.Boolean(string='Is Adult Activity?', |
||||
|
help="Is this aduction activity active " |
||||
|
"or not") |
@ -0,0 +1,168 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
########################################################################## |
||||
|
from odoo import models, fields, api |
||||
|
|
||||
|
|
||||
|
class AdultMembers(models.Model): |
||||
|
_inherit = 'res.partner' |
||||
|
|
||||
|
is_customer = fields.Boolean(string='Is A Customer', |
||||
|
help='If user is a customer, enable this option') |
||||
|
is_adult_member = fields.Boolean(string='Is Adult Member?', |
||||
|
help='If user is a adult member, enable this option') |
||||
|
social_security_no = fields.Integer(string='Social Security Number', |
||||
|
help="User's Social Security Number") |
||||
|
medicare_no = fields.Integer(string='Medicare Number', |
||||
|
help="User's Medicare Number") |
||||
|
medicaid_no = fields.Integer(string='Medicaid Number', |
||||
|
help="User's Medicalaid Number") |
||||
|
birth_date = fields.Date(string='Birth Date', help="Birth Date of User") |
||||
|
age = fields.Integer(string='Age', help="Age of user") |
||||
|
referred_by_id = fields.Many2one('res.partner', string='Referred By', |
||||
|
help="Referral of the user") |
||||
|
marital_status = fields.Selection( |
||||
|
[('single', 'Single'), ('married', 'Married'), |
||||
|
('separated', 'Separated'), ('widowed', 'Widowed'), |
||||
|
('divorced', 'Divorced')], string="Marital Status", |
||||
|
help="Marriage status of the user") |
||||
|
place_birth = fields.Char(string='Place Of Birth', |
||||
|
help="Place of Birth of the user") |
||||
|
responsible_id = fields.Many2one('hr.employee', |
||||
|
string='Responsible Party/Guardian', |
||||
|
help="Guardian of the user") |
||||
|
responsible_address = fields.Text(string='Address', |
||||
|
help="Address of the guardian") |
||||
|
responsible_telephone = fields.Char(string='Telephone', |
||||
|
help="Telephone of the guardian") |
||||
|
care_provider_id = fields.Many2one('hr.employee', |
||||
|
string='Primary Care Provider', |
||||
|
help="Care provider for the user") |
||||
|
care_provider_address = fields.Text(string='Address', |
||||
|
help="Address of the care provider") |
||||
|
care_provider_telephone = fields.Text(string='Telephone', |
||||
|
help="Phone number of the care provider") |
||||
|
physician_id = fields.Char(string='Physician', help="Physician of the user") |
||||
|
physician_address = fields.Text(string='Address', |
||||
|
help="Address of the physician") |
||||
|
physician_phone = fields.Char(string='Phone', |
||||
|
help="Phone number of the physician") |
||||
|
travel_by = fields.Selection([('car', 'Car'), ('bus', 'Bus')], |
||||
|
string='Travel By', |
||||
|
help="Travel by of the care provider") |
||||
|
travel_assistance = fields.Boolean(string='Is Need Travel Assistance', |
||||
|
help="Is there any need to travel") |
||||
|
present_medical = fields.Char(string='Present Diagnoses/Medical Problems', |
||||
|
help='Present medical problems') |
||||
|
other_disability = fields.Char(string='Other Disability', |
||||
|
help="Any other condition") |
||||
|
weight = fields.Float(string='Weight', help="Weight of the User") |
||||
|
height = fields.Float(string='Height', help="Height of the user") |
||||
|
dentist_id = fields.Char(string='Dentist Name', help="Dentist of the user") |
||||
|
dentist_address = fields.Text(string='Address', |
||||
|
help="Address of the dentist") |
||||
|
dentist_phone = fields.Char(string='Phone', |
||||
|
help="Phone number of the dentist") |
||||
|
dentist_last_visit = fields.Date(string='Dentist Last Visit', |
||||
|
help="Lase visit to the dentist") |
||||
|
daycare_activities_ids = fields.One2many('daycare.activities', |
||||
|
'res_partner_id', string="Daycare", |
||||
|
help="Day care Activities") |
||||
|
transportation = fields.Selection( |
||||
|
[('relative_friend', 'Relative or Friend'), |
||||
|
('public_transport', 'Public Transportation'), |
||||
|
('blessed_assurance', 'Blessed Assurance')], |
||||
|
string='Transportation', help="Transportation Methods") |
||||
|
arrival_time = fields.Float(string='Arrival TIme', help="Time of arrival") |
||||
|
departure_time = fields.Float(string='Departure Time', |
||||
|
help="Time of departure") |
||||
|
special_diet = fields.Selection([('yes', 'Yes'), ('no', 'No')], |
||||
|
string='Special Diet', |
||||
|
help="Any special diet") |
||||
|
diet_detail = fields.Char(string='Diet Detail', |
||||
|
help="If any diet provide in detail") |
||||
|
allergies = fields.Char(string='List of Allergies', help="Allergies") |
||||
|
time_request = fields.Char(string='Time Request', help="Requested Time") |
||||
|
emergency_name = fields.Char(string='Emergency Name', |
||||
|
help="Emergency Contacy") |
||||
|
applicant_relationship = fields.Char(string='Applicant Relationship', |
||||
|
help="Relation to the user") |
||||
|
emergency_address = fields.Text(string='Emergency Address', |
||||
|
help="Address of the emergency contact") |
||||
|
emergency_phone = fields.Char(string='Emergency Phone', |
||||
|
help="Phone number of the emergency contact") |
||||
|
emergency_name_1 = fields.Char(string='Emergency Name#1', |
||||
|
help="Another emergency contact") |
||||
|
applicant_relationship_2 = fields.Char(string='Applicant Relationship#2', |
||||
|
help="Relationship to the user") |
||||
|
emergency_address_1 = fields.Text(string='Emergency Address#1', |
||||
|
help="Address of the emergency contact") |
||||
|
emergency_phone_1 = fields.Char(string='Emergency Phone#1', |
||||
|
help="Phone number pf the emergency contact2") |
||||
|
responsible = fields.Char(string='Responsible', help="Responsible person") |
||||
|
paid_by = fields.Selection([('myself', 'Myself'), ('relative', 'Relative'), |
||||
|
('another_party', 'Another Party')], |
||||
|
string='Paid By', help="Payment by") |
||||
|
paid_by_name = fields.Char(string='Payer Name', help="Name of the Payer") |
||||
|
paid_by_phone = fields.Char(string='Payer Phone', |
||||
|
help="Phone number of the payer") |
||||
|
your_email = fields.Char(string='Your Email', help="Email of the user") |
||||
|
hospital_name = fields.Char(string='Hospital Name', |
||||
|
help="Name of the hospital") |
||||
|
today_date = fields.Date(string='Today Date', help="Date of today.") |
||||
|
interest_program = fields.Char(string='Interest In Program', help="Program " |
||||
|
"intrested in") |
||||
|
previous_experience = fields.Selection([('yes', 'Yes'), ('no', 'No')], |
||||
|
string='Previous Experience', |
||||
|
help="Any previous experience") |
||||
|
where_when = fields.Char(string='Where and When', |
||||
|
help="Where and when to select the experience") |
||||
|
present_living = fields.Selection([('with_relative', 'With Relative'), |
||||
|
('non_relative', 'With Non-Relative'), |
||||
|
('home_alone', 'Alone(Home/Apartment)'), |
||||
|
('alone_single', 'Alone(Single Room)')], |
||||
|
string='Present Living Arrangement', |
||||
|
help="Current Living") |
||||
|
living_with_whom = fields.Char(string='Living With Whom', |
||||
|
help="Livinig with anyone?") |
||||
|
living_with = fields.Char(string='Living With', help="Living with Whom") |
||||
|
relationship_responsible_relative = fields.Char( |
||||
|
string='Relationship Responsible Relative', |
||||
|
help="RelationShip with the responsible person") |
||||
|
nearest_relative = fields.Char(string='Nearest Relative', |
||||
|
help="Nearest Relative") |
||||
|
nearest_relative_relation = fields.Char(string='Nearest Relative Relation', |
||||
|
help="Relation to the Nearest " |
||||
|
"Relative") |
||||
|
business_phone = fields.Char(string='Business Phone', |
||||
|
help="Phone number for business") |
||||
|
employed_at = fields.Char(string='Employed At', help="Employed") |
||||
|
|
||||
|
@api.onchange('is_adult_member') |
||||
|
def _onchange_is_adult_member(self): |
||||
|
""" |
||||
|
When is_adult_member is True, is_customer becomes True and if |
||||
|
is_adult_member is False then, is_customer becomes False |
||||
|
""" |
||||
|
if self.is_adult_member: |
||||
|
self.is_customer = True |
||||
|
else: |
||||
|
self.is_customer = False |
@ -0,0 +1,49 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
############################################################################### |
||||
|
# |
||||
|
# Cybrosys Technologies Pvt. Ltd. |
||||
|
# |
||||
|
# Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>). |
||||
|
# Author: Gayathri V (odoo@cybrosys.com) |
||||
|
# |
||||
|
# You can modify it under the terms of the GNU AFFERO |
||||
|
# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
|
# (AGPL v3) along with this program. |
||||
|
# If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
########################################################################## |
||||
|
from odoo import api, fields, models |
||||
|
|
||||
|
|
||||
|
class SaleOrder(models.Model): |
||||
|
_inherit = 'sale.order' |
||||
|
|
||||
|
adult_person_id = fields.Many2one('res.partner', string='Adult Person', |
||||
|
domain="[('is_adult_member', '=', True)]", |
||||
|
help="Adult person name") |
||||
|
|
||||
|
@api.onchange('adult_person_id') |
||||
|
def _onchange_adult_person_id(self): |
||||
|
""" |
||||
|
When adult_person_id is chosen corresponding activities loads |
||||
|
to the order lines |
||||
|
""" |
||||
|
product = [] |
||||
|
for rec in self.adult_person_id.daycare_activities_ids: |
||||
|
product_id = self.env['product.product'].search([ |
||||
|
('product_tmpl_id', '=', rec.product_id.id)]) |
||||
|
product.append(product_id.id) |
||||
|
self.write({'order_line': [(5, 0)]}) |
||||
|
self.update({ |
||||
|
'order_line': [(0, 0, { |
||||
|
'product_id': rec, |
||||
|
'product_uom_qty': 1, |
||||
|
}) for rec in product], |
||||
|
}) |
@ -0,0 +1,181 @@ |
|||||
|
<?xml version="1.0"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<record id="action_report_crm_lead" model="ir.actions.report"> |
||||
|
<field name="name">Adult Care Details</field> |
||||
|
<field name="model">crm.lead</field> |
||||
|
<field name="report_type">qweb-pdf</field> |
||||
|
<field name="report_name">adult_daycare_center.adult_care_crm_lead_report</field> |
||||
|
<field name="report_file">adult_daycare_center.adult_care_crm_lead_report</field> |
||||
|
<field name="binding_model_id" ref="model_crm_lead"/> |
||||
|
<field name="binding_type">report</field> |
||||
|
</record> |
||||
|
|
||||
|
<template id="adult_care_crm_lead_report"> |
||||
|
<t t-call="web.html_container"> |
||||
|
<t t-call="web.external_layout"> |
||||
|
<div class="page"> |
||||
|
<t t-foreach="docs" t-as="data"> |
||||
|
<center><span style="font-size:25px;"><strong><t t-esc="data['name']"/> - <t t-esc="data['partner_id'].name"/></strong></span></center> |
||||
|
<br/> |
||||
|
<span><strong style="font-size:25px;">Personal Information</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Birthdate</strong></td> |
||||
|
<td><t t-esc="data['birth_date']"/></td> |
||||
|
<td><strong>Gender</strong></td> |
||||
|
<td><t t-esc="data['gender']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Address</strong></td> |
||||
|
<td><t t-esc="data['street']"/>, <t t-esc="data['city']"/></td> |
||||
|
<td><strong>Medicaid</strong></td> |
||||
|
<td><t t-esc="data['medicaid']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Medicare</strong></td> |
||||
|
<td><t t-esc="data['medicare']"/></td> |
||||
|
<td><strong>Marital Status</strong></td> |
||||
|
<td><t t-esc="data['marital_status']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Supplemental Income</strong></td> |
||||
|
<td><t t-esc="data['supplemental_income']"/></td> |
||||
|
<td><strong>Interest in Program</strong></td> |
||||
|
<td><t t-esc="data['interest_program']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Previous Experience</strong></td> |
||||
|
<td><t t-esc="data['previous_experience']"/></td> |
||||
|
<td><strong>Where and When</strong></td> |
||||
|
<td><t t-esc="data['where_when']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
</span> |
||||
|
|
||||
|
<span><strong style="font-size:25px;">Relative and Emergency Detail</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Present Living Arrangement</strong></td> |
||||
|
<td><t t-esc="data['present_living']"/></td> |
||||
|
<td><strong>Emergency Name</strong></td> |
||||
|
<td><t t-esc="data['emergency_name']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Living with whom</strong></td> |
||||
|
<td><t t-esc="data['living_with_whom']"/>, <t t-esc="data['city']"/></td> |
||||
|
<td><strong>Applicant Relationship</strong></td> |
||||
|
<td><t t-esc="data['applicant_relationship']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Living with Relationship</strong></td> |
||||
|
<td><t t-esc="data['living_with']"/></td> |
||||
|
<td><strong>Address Emergency</strong></td> |
||||
|
<td><t t-esc="data['emergency_address']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Responsible Relative</strong></td> |
||||
|
<td><t t-esc="data['relationship_responsible_relative']"/></td> |
||||
|
<td><strong>Phone Emergency</strong></td> |
||||
|
<td><t t-esc="data['emergency_phone']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Nearest Relative</strong></td> |
||||
|
<td><t t-esc="data['nearest_relative']"/></td> |
||||
|
<td><strong>Emergency Name</strong></td> |
||||
|
<td><t t-esc="data['emergency_name_1']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Relationship with Relative</strong></td> |
||||
|
<td><t t-esc="data['nearest_relative_relation']"/></td> |
||||
|
<td><strong>Applicant Relationship #1</strong></td> |
||||
|
<td><t t-esc="data['applicant_relationship_2']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
</span> |
||||
|
|
||||
|
<span><strong style="font-size:25px;">Medical and Transportation Detail</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Physician Name</strong></td> |
||||
|
<td><t t-esc="data['physician_name']"/></td> |
||||
|
<td><strong>Transportation</strong></td> |
||||
|
<td><t t-esc="data['transportation']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Physician Address</strong></td> |
||||
|
<td><t t-esc="data['physician_address']"/>, <t t-esc="data['city']"/></td> |
||||
|
<td><strong>Arrival Time</strong></td> |
||||
|
<td><t t-esc="data['arrival_time']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Phone</strong></td> |
||||
|
<td><t t-esc="data['physician_phone']"/></td> |
||||
|
<td><strong>Departure Time</strong></td> |
||||
|
<td><t t-esc="data['departure_time']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Physician Last Vist</strong></td> |
||||
|
<td><t t-esc="data['physician_last_visit']"/></td> |
||||
|
<td><strong>Special Diet</strong></td> |
||||
|
<td><t t-esc="data['special_diet']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Dentist Name</strong></td> |
||||
|
<td><t t-esc="data['dentist_name']"/></td> |
||||
|
<td><strong>Transportation</strong></td> |
||||
|
<td><t t-esc="data['transportation']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Dentist Address</strong></td> |
||||
|
<td><t t-esc="data['dentist_address']"/></td> |
||||
|
<td><strong>Responsible</strong></td> |
||||
|
<td><t t-esc="data['responsible']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Dentist Phone</strong></td> |
||||
|
<td><t t-esc="data['dentist_phone']"/></td> |
||||
|
<td><strong>Phone Pay</strong></td> |
||||
|
<td><t t-esc="data['paid_by_name']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Date of Dentist</strong></td> |
||||
|
<td><t t-esc="data['dentist_last_visit']"/></td> |
||||
|
<td><strong>Your Email</strong></td> |
||||
|
<td><t t-esc="data['your_email']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Hospital Name</strong></td> |
||||
|
<td><t t-esc="data['hospital_name']"/></td> |
||||
|
<td><strong>Today date</strong></td> |
||||
|
<td><t t-esc="data['today_date']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
</span> |
||||
|
|
||||
|
<span><strong style="font-size:25px;">Other Information</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Diet Detail</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['diet_detail']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>List of Allergies</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['allergies']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Time Request</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['time_request']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</span> |
||||
|
</t> |
||||
|
</div> |
||||
|
</t> |
||||
|
</t> |
||||
|
</template> |
||||
|
|
||||
|
</odoo> |
@ -0,0 +1,265 @@ |
|||||
|
<?xml version="1.0"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<record id="action_report_adult_details" model="ir.actions.report"> |
||||
|
<field name="name">Adult Care Details</field> |
||||
|
<field name="model">res.partner</field> |
||||
|
<field name="report_type">qweb-pdf</field> |
||||
|
<field name="report_name">adult_daycare_center.adult_care_details_report</field> |
||||
|
<field name="report_file">adult_daycare_center.adult_care_details_report</field> |
||||
|
<field name="binding_model_id" ref="model_res_partner"/> |
||||
|
<field name="binding_type">report</field> |
||||
|
</record> |
||||
|
|
||||
|
<template id="adult_care_details_report"> |
||||
|
<t t-call="web.html_container"> |
||||
|
<t t-call="web.external_layout"> |
||||
|
<div class="page"> |
||||
|
<t t-foreach="docs" t-as="data"> |
||||
|
<center><span style="font-size:25px;"><strong>Member : <t t-esc="data['name']"/></strong></span></center> |
||||
|
<br/> |
||||
|
<span><strong style="font-size:25px;">Application Information</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Social Security Number</strong></td> |
||||
|
<td><t t-esc="data['social_security_no']"/></td> |
||||
|
<td><strong>Referred By</strong></td> |
||||
|
<td><t t-esc="data['referred_by_id'].name"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Medicare Number</strong></td> |
||||
|
<td><t t-esc="data['medicare_no']"/></td> |
||||
|
<td><strong>Marital Status</strong></td> |
||||
|
<td><t t-esc="data['marital_status']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Medicaid Number</strong></td> |
||||
|
<td><t t-esc="data['medicaid_no']"/></td> |
||||
|
<td><strong>Place of Birth</strong></td> |
||||
|
<td><t t-esc="data['place_birth']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Birth Date</strong></td> |
||||
|
<td><t t-esc="data['birth_date']"/></td> |
||||
|
<td><strong>Age</strong></td> |
||||
|
<td><t t-esc="data['age']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Responsible Party/Guardian</strong></td> |
||||
|
<td><t t-esc="data['responsible_id'].name"/></td> |
||||
|
<td><strong>Primary Care</strong></td> |
||||
|
<td><t t-esc="data['care_provider_id'].name"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Responsible Address</strong></td> |
||||
|
<td><t t-esc="data['responsible_address']"/></td> |
||||
|
<td><strong>Primary Care Address</strong></td> |
||||
|
<td><t t-esc="data['care_provider_address']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Responsible Telephone</strong></td> |
||||
|
<td><t t-esc="data['responsible_telephone']"/></td> |
||||
|
<td><strong>Primary Care Telephone</strong></td> |
||||
|
<td><t t-esc="data['care_provider_telephone']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Present Living Arrangements</strong></td> |
||||
|
<td><t t-esc="data['present_living']"/></td> |
||||
|
<td><strong>Living with whom</strong></td> |
||||
|
<td><t t-esc="data['living_with_whom']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Relationship with whom their living</strong></td> |
||||
|
<td><t t-esc="data['living_with']"/></td> |
||||
|
<td><strong>Nearest Responsible Relative</strong></td> |
||||
|
<td><t t-esc="data['nearest_relative']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>If Employed, where</strong></td> |
||||
|
<td><t t-esc="data['employed_at']"/></td> |
||||
|
<td><strong>Business Phone</strong></td> |
||||
|
<td><t t-esc="data['business_phone']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Why interested in joining the program?</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['interest_program']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Have you had previous experience in an Adult Daycare Program?</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['previous_experience']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>If yes, Where and When?</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['where_when']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
</span> |
||||
|
|
||||
|
<span><strong style="font-size:25px;">Medical Details</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Physician</strong></td> |
||||
|
<td><t t-esc="data['physician_id']"/></td> |
||||
|
<td><strong>Travel By</strong></td> |
||||
|
<td><t t-esc="data['travel_by']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Address</strong></td> |
||||
|
<td><t t-esc="data['physician_address']"/></td> |
||||
|
<td><strong>Is Need Travel Assistance</strong></td> |
||||
|
<td><t t-esc="data['travel_assistance']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Phone</strong></td> |
||||
|
<td><t t-esc="data['physician_phone']"/></td> |
||||
|
<td/> |
||||
|
<td/> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Present Diagnoses/Medical Problems</strong></td> |
||||
|
<td><t t-esc="data['present_medical']"/></td> |
||||
|
<td><strong>Other Disability</strong></td> |
||||
|
<td><t t-esc="data['other_disability']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Weight</strong></td> |
||||
|
<td><t t-esc="data['weight']"/></td> |
||||
|
<td><strong>Height</strong></td> |
||||
|
<td><t t-esc="data['height']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Dentist</strong></td> |
||||
|
<td><t t-esc="data['dentist_id']"/></td> |
||||
|
<td><strong>Address</strong></td> |
||||
|
<td><t t-esc="data['dentist_address']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Phone Number</strong></td> |
||||
|
<td><t t-esc="data['dentist_phone']"/></td> |
||||
|
<td><strong>Date of Last Visit</strong></td> |
||||
|
<td><t t-esc="data['dentist_last_visit']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
</span> |
||||
|
|
||||
|
<span t-if="data['daycare_activities_ids']"><strong style="font-size:25px;">Activity</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Name</strong></td> |
||||
|
<td><strong>Product</strong></td> |
||||
|
<td><strong>Notes</strong></td> |
||||
|
<td><strong>Time In</strong></td> |
||||
|
<td><strong>Time Out</strong></td> |
||||
|
<td><strong>Responsible By</strong></td> |
||||
|
</tr> |
||||
|
<tr t-foreach="data['daycare_activities_ids']" t-as="rec"> |
||||
|
<td><t t-esc="rec['name'].name"/></td> |
||||
|
<td><t t-esc="rec['product_id'].name"/></td> |
||||
|
<td><t t-esc="rec['notes']"/></td> |
||||
|
<td><t t-esc="rec['time_in']"/></td> |
||||
|
<td><t t-esc="rec['time_out']"/></td> |
||||
|
<td><t t-esc="rec['responsible'].name"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
</span> |
||||
|
|
||||
|
<span><strong style="font-size:25px;">Emergency Care Information</strong> |
||||
|
<strong style="font-size:20px;">Emergency Contact#1</strong> |
||||
|
<br/> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Full Name</strong></td> |
||||
|
<td><t t-esc="data['emergency_name']"/></td> |
||||
|
<td><strong>Relationship To Applicant</strong></td> |
||||
|
<td><t t-esc="data['applicant_relationship']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Address</strong></td> |
||||
|
<td><t t-esc="data['emergency_address']"/></td> |
||||
|
<td><strong>Phone</strong></td> |
||||
|
<td><t t-esc="data['emergency_phone']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
<strong style="font-size:20px;">Emergency Contact#2</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Full Name</strong></td> |
||||
|
<td><t t-esc="data['emergency_name_1']"/></td> |
||||
|
<td><strong>Relationship To Applicant</strong></td> |
||||
|
<td><t t-esc="data['applicant_relationship_2']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Address</strong></td> |
||||
|
<td><t t-esc="data['emergency_address_1']"/></td> |
||||
|
<td><strong>Phone</strong></td> |
||||
|
<td><t t-esc="data['emergency_phone_1']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
<br/> |
||||
|
</span> |
||||
|
|
||||
|
<span><strong style="font-size:25px;">Service</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td><strong>Transportation Provided By</strong></td> |
||||
|
<td><t t-esc="data['transportation']"/></td> |
||||
|
<td><strong>Arrive Time</strong></td> |
||||
|
<td><t t-esc="data['arrival_time']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td><strong>Departure Time</strong></td> |
||||
|
<td><t t-esc="data['departure_time']"/></td> |
||||
|
<td><strong>Special Diet?</strong></td> |
||||
|
<td><t t-esc="data['special_diet']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>If yes, Give Details</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['diet_detail']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>List of Allergies</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['allergies']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</span> |
||||
|
|
||||
|
<span><strong style="font-size:25px;">Contract and Commitment</strong> |
||||
|
<table class="table table-borderless"> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>I acknowledge that the participation in this program will be paid by</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['paid_by']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Name of person/party responsible for mentioned above</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['paid_by_name']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Phone number of person to pay bill</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['paid_by_phone']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Your email</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['your_email']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Hospital Choice</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['hospital_name']"/></td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td colspan="2"><strong>Digital Signature</strong></td> |
||||
|
<td colspan="2"><t t-esc="data['name']"/></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</span> |
||||
|
|
||||
|
</t> |
||||
|
</div> |
||||
|
</t> |
||||
|
</t> |
||||
|
</template> |
||||
|
|
||||
|
</odoo> |
@ -0,0 +1,13 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<odoo> |
||||
|
|
||||
|
<template id="sale_report_inherit" inherit_id="sale.report_saleorder_document"> |
||||
|
<xpath expr="//div[@id='informations']" position="inside"> |
||||
|
<div t-if="doc.adult_person_id.name" class="col-auto col-3 mw-100 mb-2"> |
||||
|
<strong>Adult Person:</strong> |
||||
|
<p class="m-0" t-field="doc.adult_person_id"/> |
||||
|
</div> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
|
</odoo> |
@ -0,0 +1,7 @@ |
|||||
|
<?xml version='1.0' encoding='utf-8'?> |
||||
|
<odoo noupdate="1"> |
||||
|
<!-- record rule--> |
||||
|
<record id="group_adult_day_care" model="res.groups"> |
||||
|
<field name="name">Adult Day Care</field> |
||||
|
</record> |
||||
|
</odoo> |
|
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 310 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 576 B |
After Width: | Height: | Size: 733 B |
After Width: | Height: | Size: 911 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 673 B |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 878 B |
After Width: | Height: | Size: 653 B |
After Width: | Height: | Size: 905 B |
After Width: | Height: | Size: 839 B |
After Width: | Height: | Size: 427 B |
After Width: | Height: | Size: 627 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 988 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 589 B |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 565 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 967 B |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 532 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 204 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 188 KiB |
After Width: | Height: | Size: 229 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 127 KiB |
After Width: | Height: | Size: 112 KiB |