diff --git a/legal_case_management/README.rst b/legal_case_management/README.rst new file mode 100755 index 000000000..713b90f55 --- /dev/null +++ b/legal_case_management/README.rst @@ -0,0 +1,36 @@ +Legal Case Management +===================== + +Module for managing Legal Processes + + +Installation +============ +- www.odoo.com/documentation/11.0/setup/install.html +- Install our custom addon + +License +======= +GNU Lesser General Public License, Version 3 (LGPLv3) +(http://www.gnu.org/licenses/agpl.html) + +Bug Tracker +=========== +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Credits +======= +* Cybrosys Techno Solutions + +Author +------ + +Developer: Sayooj A O(odoo@cybrosys.com) @ Cybrosys + +Maintainer +---------- + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com. + diff --git a/legal_case_management/__init__.py b/legal_case_management/__init__.py new file mode 100644 index 000000000..5f9e6d215 --- /dev/null +++ b/legal_case_management/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +################################################################################### +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2018-TODAY Cybrosys Technologies (). +# Author: Sayooj A O() +# +# This program is free software: you can modify +# it under the terms of the GNU Lesser General Public License(LGPLv3) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# 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 Lesser General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### +from . import models \ No newline at end of file diff --git a/legal_case_management/__manifest__.py b/legal_case_management/__manifest__.py new file mode 100644 index 000000000..b3fa86356 --- /dev/null +++ b/legal_case_management/__manifest__.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +################################################################################### +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2018-TODAY Cybrosys Technologies (). +# Author: Sayooj A O() +# +# This program is free software: you can modify +# it under the terms of the GNU Lesser General Public License(LGPLv3) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# 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 Lesser General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### +{ + 'name': 'Legal Case Management', + 'summary': """Module for managing LEGAL Processes""", + 'version': '11.0.1.0.0', + 'description': """ALL LEGAL FIRM BASED PROBLEMS GET SOLVED HERE""", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'website': 'http://www.cybrosys.com', + 'category': 'Tools', + 'depends': ['base', 'hr_payroll', 'document', 'hr'], + 'license': 'LGPL-3', + 'data': [ + 'views/legal_views.xml', + 'views/res_partner_views.xml', + 'views/sequence.xml', + 'security/ir.model.access.csv', + + ], + 'demo': [], + 'images': ['static/description/banner.png'], + 'installable': True, + 'auto_install': False, +} diff --git a/legal_case_management/doc/RELEASE_NOTES.md b/legal_case_management/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..b3c1689e8 --- /dev/null +++ b/legal_case_management/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 23.01.2019 +#### Version 11.0.1.0.0 +##### ADD +- Initial commit for Legal Case Managment diff --git a/legal_case_management/models/__init__.py b/legal_case_management/models/__init__.py new file mode 100644 index 000000000..d6b387c8c --- /dev/null +++ b/legal_case_management/models/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +################################################################################### +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2018-TODAY Cybrosys Technologies (). +# Author: Sayooj A O() +# +# This program is free software: you can modify +# it under the terms of the GNU Lesser General Public License(LGPLv3) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# 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 Lesser General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### +from . import legal \ No newline at end of file diff --git a/legal_case_management/models/legal.py b/legal_case_management/models/legal.py new file mode 100644 index 000000000..bc3de2be7 --- /dev/null +++ b/legal_case_management/models/legal.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api,_ + + +class LawyerRecords(models.Model): + _name = 'case.case' + _description = 'Case Register' + _inherit = ['mail.thread', 'mail.activity.mixin'] + _rec_name = "name" + case_category = fields.Selection([('f', 'Family Cases'), ('c', 'Criminal Cases'), ('b', 'Traffic Cases'), + ('j', 'Civil Cases')], string='Category of Case', required=True) + case_details = fields.Text(string='Details Of Case (SECTION)', required=True) + case_lawyer = fields.Many2one('hr.employee', string=" Lawyer", required=True, track_visibility='onchange') + case_client = fields.Many2one('res.partner', string='Client', required=True, track_visibility='onchange', + domain=[['customer', '=', 1]]) + case_court = fields.Many2one('court.court', string='Court', required=True) + case_next = fields.Date(string='Sitting Date', required=True) + case_menu = fields.One2many('case.case.line', 'connect_id', string="Sitting") + case_note = fields.One2many('notes.notes', 'connect_id1', string="Internal Notes") + name = fields.Char(string='Reference', required=True, copy=False, readonly=True, + default=lambda self: _('New')) + obj_attachment = fields.Integer(string='attachment', compute='attachments1') + + state = fields.Selection([('draft', 'Draft'), + ('invoiced', 'Invoiced'), + ('completed', 'Completed')], default='draft', track_visibility='onchange') + + @api.model + def create(self, vals): + vals['name'] = self.env['ir.sequence'].next_by_code('case.case') + return super(LawyerRecords, self).create(vals) + + @api.one + def attachments1(self): + obj_attachment = self.env['ir.attachment'] + for record in self: + record.attachment_count = 0 + attachment_ids = obj_attachment.search([('res_model', '=', 'case.case'), ('res_id', '=', record.id)]) + if attachment_ids: + record.obj_attachment = len(attachment_ids) + + @api.multi + def count_attachments(self): + self.ensure_one() + domain = [('res_model', '=', 'case.case'), ('res_id', 'in', self.ids)] + return { + + 'name': 'ir.attachment tree', + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'ir.attachment', + 'type': 'ir.actions.act_window', + 'target': 'current', + 'domain': domain, + 'context': "{'default_res_model': '%s','default_res_id': %d}" % (self._name, self.id) + } + + @api.multi + def make_payment(self): + self.ensure_one() + self.sudo().write({ + 'state': 'invoiced' + }) + + ctx = { + + 'default_corres_customer': self.case_client.id, 'default_employee_id': self.case_lawyer.id + } + return { + 'name': 'my.form', + 'view_type': 'form', + 'view_mode': 'form,tree', + 'res_model': 'hr.payslip', + 'type': 'ir.actions.act_window', + 'target': 'current', + 'context': ctx, + } + + @api.multi + def add_sittings(self): + self.ensure_one() + self.sudo().write({ + 'state': 'draft' + }) + + @api.multi + def mark_done(self): + self.ensure_one() + self.sudo().write({ + 'state': 'completed' + }) + + + +class LawyerRecordsline(models.Model): + _name = 'case.case.line' + case_description = fields.Text(string='Description', required=True) + connect_id = fields.Many2one('case.case', string='Description', required=True) + case_date = fields.Date(string='Date', required=True) + + +class InternalNotes(models.Model): + _name = 'notes.notes' + case_internal = fields.Text(string='Internal Notes', required=True) + connect_id1 = fields.Many2one('case.case', string='Internal Notes', required=True) + + +class Court(models.Model): + _name = 'court.court' + _rec_name = 'case_court' + case_court = fields.Text(string='Court', required=True) + + +class PartnerForm(models.Model): + + _inherit = 'res.partner' + + class PartnerForm(models.Model): + _inherit = 'res.partner' + + customer = fields.Boolean(string='Is a Client', default=True) + + +class Payslip(models.Model): + + _inherit = 'hr.payslip' + + corres_customer = fields.Many2one('res.partner',string='Customer') diff --git a/legal_case_management/security/ir.model.access.csv b/legal_case_management/security/ir.model.access.csv new file mode 100644 index 000000000..b49f9ebcf --- /dev/null +++ b/legal_case_management/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_case_id,access_case,legal_case_management.model_case_case,base.group_user,1,1,1,0 +access_case_line_id,access_case_line,legal_case_management.model_case_case_line,base.group_user,1,1,1,0 +access_note_id,access_note,legal_case_management.model_notes_notes,base.group_user,1,1,1,0 +access_court_id,access_court,legal_case_management.model_court_court,base.group_user,1,1,1,0 \ No newline at end of file diff --git a/legal_case_management/static/description/banner.png b/legal_case_management/static/description/banner.png new file mode 100644 index 000000000..e7270c749 Binary files /dev/null and b/legal_case_management/static/description/banner.png differ diff --git a/legal_case_management/static/description/icon.png b/legal_case_management/static/description/icon.png new file mode 100644 index 000000000..be36aca9c Binary files /dev/null and b/legal_case_management/static/description/icon.png differ diff --git a/legal_case_management/static/description/index.html b/legal_case_management/static/description/index.html new file mode 100644 index 000000000..b7f96d0ae --- /dev/null +++ b/legal_case_management/static/description/index.html @@ -0,0 +1,410 @@ + +
+
+

+ Legal Case Management +

+

+ Module for managing Legal Processes +

+
+ Cybrosys Technologies +
+ +
+ cybrosys technologies +
+
+
+
+ +
+
+

+ Overview +

+

+ Legal case management module helps to manage the Clients,Lawyers,Case Registration,Payments and + provides pivot reports of the process. +

+

+ Configuration +

+

+ No additional configuration required +

+
+
+ +
+
+

+ Features +

+

+ + Creating Lawyers and Clients. +

+

+ + Featuring Case Registration. +

+

+ + Arrange Sittings for the case +

+

+ + Provision to add case related attachments +

+

+ + Payment Of the case and Payslip generation for lawyers +

+

+ + Offering a pivot report. +

+
+
+ +
+
+

+ Screenshots +

+

+ + We can create or view the clients from the menu "Clients" under Master Data +

+
+ +
+

+ + We can create or view the lawyers from the menu "Lawyers" under Master Data +

+
+ +
+

+ + A new case can be registered from the menu "Case Register" by filling the mandatory fields. + And can attach any documents if needed. +

+
+ +
+

+ + And we can add multiple sittings to the same case from the tab "Sittings" +

+
+ +
+

+ + An Internal Note field is added for adding any notes related to case +

+
+ +
+

+ + By clicking on the button "Make Payment" we were lead into a form of making payment to the + corresponding lawyer. +

+
+ +
+

+ + If we want to add sittings after the payment there is button "Add Sittings" is provided and + if the case is over we can mark it as by clicking on "Mark as Done" +

+
+ +
+

+ + The state changes from "Invoiced" to "Completed" after clicking of "Mark As Done" +

+
+ +
+

+ + We can view the pivot report based on Lawyer,Client,Case Category etc.. +

+
+ +
+ +
+
+ +
+
+ cybrosys technologies +
+
+
+
+

+ Our Services +

+
+ + + +
+ +
+ + + +
+

+ + Odoo Support +

+ +
+ +
+
+
+
+
+

+ Our Industries +

+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Trading + +

+

+ Easily procure and sell your products. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Manufacturing +

+

+ Plan, track and schedule your operations. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Restaurant +

+

+ Run your bar or restaurant methodical. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + POS +

+

+ Easy configuring and convivial selling. +

+
+ +
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + E-commerce & Website +

+

+ Mobile friendly, awe-inspiring product pages. +

+
+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Hotel Management +

+

+ An all-inclusive hotel management application. +

+
+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Education +

+

+ A Collaborative platform for educational management. +

+
+
+
+ +
+
+ + Odoo Industry + +
+
+
+

+ + Service Management +

+

+ Keep track of services and invoice accordingly. +

+
+
+
+
+
+
+ +
diff --git a/legal_case_management/static/description/legal-case-cybrosys-1.png b/legal_case_management/static/description/legal-case-cybrosys-1.png new file mode 100644 index 000000000..da2a2bb89 Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-1.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-2.png b/legal_case_management/static/description/legal-case-cybrosys-2.png new file mode 100644 index 000000000..6b53ff3a1 Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-2.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-3.png b/legal_case_management/static/description/legal-case-cybrosys-3.png new file mode 100644 index 000000000..2cc050854 Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-3.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-4.png b/legal_case_management/static/description/legal-case-cybrosys-4.png new file mode 100644 index 000000000..67ad41984 Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-4.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-5.png b/legal_case_management/static/description/legal-case-cybrosys-5.png new file mode 100644 index 000000000..ef675fe1f Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-5.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-6.png b/legal_case_management/static/description/legal-case-cybrosys-6.png new file mode 100644 index 000000000..40a3cf679 Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-6.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-7.png b/legal_case_management/static/description/legal-case-cybrosys-7.png new file mode 100644 index 000000000..d6677bfca Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-7.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-8.png b/legal_case_management/static/description/legal-case-cybrosys-8.png new file mode 100644 index 000000000..9b665cd78 Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-8.png differ diff --git a/legal_case_management/static/description/legal-case-cybrosys-9.png b/legal_case_management/static/description/legal-case-cybrosys-9.png new file mode 100644 index 000000000..eb7bd4694 Binary files /dev/null and b/legal_case_management/static/description/legal-case-cybrosys-9.png differ diff --git a/legal_case_management/views/legal_views.xml b/legal_case_management/views/legal_views.xml new file mode 100644 index 000000000..3bc97f3e3 --- /dev/null +++ b/legal_case_management/views/legal_views.xml @@ -0,0 +1,177 @@ + + + + + case.case.tree + case.case + + + + + + + + + + + + + + case.case.form + case.case + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + +
+
+
+
+
+ + + +
+ +
+
+ + + Register + case.case + form + tree,form,kanban + [] + +

Register new case +

+
+
+ + + + Lawyers + hr.employee + form + kanban,tree,form + [] + {"default_x_hide": 1} + +

Create new Lawyer +

+
+
+ + + + Clients + res.partner + form + kanban,tree,form + [['customer', '=', 1]] + +

Create new client +

+
+
+ + + + pivot + case.case + pivot + + + + + + + + + + + + View Pivot + case.case + form + pivot + [] + +

Enter the target +

+
+
+ + + + + + + + + + + + +
+
\ No newline at end of file diff --git a/legal_case_management/views/res_partner_views.xml b/legal_case_management/views/res_partner_views.xml new file mode 100644 index 000000000..d825df52f --- /dev/null +++ b/legal_case_management/views/res_partner_views.xml @@ -0,0 +1,36 @@ + + + + partner inherit + res.partner + + + + + + + + + + + + + + 1 + + + + + + partner inherit + hr.payslip + + + + + + + + + + \ No newline at end of file diff --git a/legal_case_management/views/sequence.xml b/legal_case_management/views/sequence.xml new file mode 100644 index 000000000..4af307a7a --- /dev/null +++ b/legal_case_management/views/sequence.xml @@ -0,0 +1,11 @@ + + + + + Legal Firm Management + case.case + LF + 4 + + + \ No newline at end of file