@ -0,0 +1,42 @@ |
|||
ToDo List |
|||
========= |
|||
* ToDo List for Odoo 14 community editions |
|||
|
|||
Installation |
|||
============ |
|||
- www.odoo.com/documentation/14.0/setup/install.html |
|||
- Install our custom addon |
|||
|
|||
License |
|||
------- |
|||
General Public License, Version 3 (LGPL v3). |
|||
(https://www.odoo.com/documentation/user/14.0/legal/licenses/licenses.html) |
|||
|
|||
Company |
|||
------- |
|||
* 'Cybrosys Techno Solutions <https://cybrosys.com/>`__ |
|||
|
|||
Credits |
|||
------- |
|||
* Developer: |
|||
(v14) Mily Shajan @ Cybrosys |
|||
|
|||
|
|||
Contacts |
|||
-------- |
|||
* Mail Contact : odoo@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 |
|||
========== |
|||
This module is maintained by Cybrosys Technologies. |
|||
|
|||
For support and more information, please visit https://www.cybrosys.com |
|||
|
|||
Further information |
|||
=================== |
|||
HTML Description: `<static/description/index.html>`__ |
|||
|
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
|
|||
from . import models |
@ -0,0 +1,48 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
{ |
|||
'name': "To Do List", |
|||
'summary': """ |
|||
Create Todo List Using Activities""", |
|||
'description': """ |
|||
Scheduling Activities For each model and General Activities. |
|||
""", |
|||
'author': 'Cybrosys Techno Solutions', |
|||
'company': 'Cybrosys Techno Solutions', |
|||
'maintainer': 'Cybrosys Techno Solutions', |
|||
'website': "https://www.cybrosys.com", |
|||
'category': 'Tools', |
|||
'version': '14.0.1.0.0', |
|||
'depends': ['base', 'mail'], |
|||
'data': [ |
|||
'security/security.xml', |
|||
'security/ir.model.access.csv', |
|||
'data/recurring.xml', |
|||
'data/general.xml', |
|||
'views/views.xml', |
|||
], |
|||
'license': 'LGPL-3', |
|||
'images': ['static/description/banner.png'], |
|||
'installable': True, |
|||
'auto_install': False, |
|||
'application': True, |
|||
} |
@ -0,0 +1,8 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
<record id="general_activities" model="activity.general"> |
|||
<field name="name">Activity</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,14 @@ |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
<record id="ir_cron_scheduler_recurring_action" model="ir.cron"> |
|||
<field name="name">Recurring Todo Activity</field> |
|||
<field name="model_id" ref="model_mail_activity"/> |
|||
<field name="state">code</field> |
|||
<field name="code">model.action_date()</field> |
|||
<field name="user_id" ref="base.user_root"/> |
|||
<field name="interval_number">1</field> |
|||
<field name="interval_type">days</field> |
|||
<field name="numbercall">-1</field> |
|||
</record> |
|||
</data> |
|||
</odoo> |
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
|
|||
from . import todo |
@ -0,0 +1,150 @@ |
|||
# -*- coding: utf-8 -*- |
|||
############################################################################# |
|||
# |
|||
# Cybrosys Technologies Pvt. Ltd. |
|||
# |
|||
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) |
|||
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) |
|||
# |
|||
# You can modify it under the terms of the GNU LESSER |
|||
# GENERAL PUBLIC LICENSE (LGPL 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 LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. |
|||
# |
|||
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE |
|||
# (LGPL v3) along with this program. |
|||
# If not, see <http://www.gnu.org/licenses/>. |
|||
# |
|||
############################################################################# |
|||
|
|||
from datetime import timedelta |
|||
|
|||
from odoo import models, fields, api |
|||
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT |
|||
|
|||
|
|||
class MailActivity(models.Model): |
|||
_name = 'mail.activity' |
|||
_inherit = ['mail.activity', 'mail.thread'] |
|||
_rec_name = 'summary' |
|||
|
|||
date_deadline = fields.Date('Due Date', index=True, required=True, |
|||
default=fields.Date.context_today, store=True) |
|||
user_id = fields.Many2one('res.users', string='user', index=True, |
|||
tracking=True, default=lambda self: self.env.user) |
|||
res_model_id = fields.Many2one( |
|||
'ir.model', 'Document Model', |
|||
index=True, ondelete='cascade', required=True, |
|||
default=lambda self: self.env.ref('todo_list.model_activity_general')) |
|||
res_id = fields.Many2oneReference(string='Related Document ID', index=True, |
|||
required=True, model_field='res_model', |
|||
default=lambda self: self.env.ref( |
|||
'todo_list.general_activities')) |
|||
priority = fields.Selection([ |
|||
('0', 'Normal'), |
|||
('1', 'Important'), |
|||
('2', 'Very Important'), |
|||
('3', 'Urgent'), |
|||
], default='0', index=True, store=True) |
|||
recurring = fields.Boolean(string="Recurring", store=True) |
|||
state = fields.Selection([ |
|||
('today', 'Today'), |
|||
('planned', 'Planned'), |
|||
('done', 'Done'), |
|||
('overdue', 'Expired'), |
|||
('cancel', 'Cancelled'), ], 'State', |
|||
compute='_compute_state', store=True) |
|||
interval = fields.Selection( |
|||
[('Daily', 'Daily'), |
|||
('Weekly', 'Weekly'), |
|||
('Monthly', 'Monthly'), |
|||
('Quarterly', 'Quarterly'), |
|||
('Yearly', 'Yearly')], |
|||
string='Recurring Interval', ) |
|||
new_date = fields.Date(string="Next Due Date", store=True) |
|||
|
|||
def action_done(self): |
|||
"""Function done button""" |
|||
self.write({'state': 'done'}) |
|||
if self.recurring: |
|||
self.env['mail.activity'].create({ |
|||
'res_id': self.res_id, |
|||
'res_model_id': self.res_model_id.id, |
|||
'summary': self.summary, |
|||
'priority': self.priority, |
|||
'date_deadline': self.new_date, |
|||
'recurring': self.recurring, |
|||
'interval': self.interval, |
|||
'activity_type_id': self.activity_type_id.id, |
|||
'new_date': self.get_date(), |
|||
'user_id': self.user_id.id |
|||
}) |
|||
|
|||
def get_date(self): |
|||
""" function for get new due date on new record""" |
|||
date_deadline = self.new_date if self.new_date else self.date_deadline |
|||
new_date = False |
|||
if self.interval == 'Daily': |
|||
new_date = ( |
|||
date_deadline + timedelta(days=1)).strftime( |
|||
DEFAULT_SERVER_DATE_FORMAT) |
|||
elif self.interval == 'Weekly': |
|||
new_date = ( |
|||
date_deadline + timedelta(days=7)).strftime( |
|||
DEFAULT_SERVER_DATE_FORMAT) |
|||
elif self.interval == 'Monthly': |
|||
new_date = ( |
|||
date_deadline + timedelta(days=30)).strftime( |
|||
DEFAULT_SERVER_DATE_FORMAT) |
|||
elif self.interval == 'Quarterly': |
|||
new_date = ( |
|||
date_deadline + timedelta(days=90)).strftime( |
|||
DEFAULT_SERVER_DATE_FORMAT) |
|||
elif self.interval == 'Yearly': |
|||
new_date = ( |
|||
date_deadline + timedelta(days=365)).strftime( |
|||
DEFAULT_SERVER_DATE_FORMAT) |
|||
return new_date |
|||
|
|||
@api.onchange('interval', 'date_deadline') |
|||
def onchange_recurring(self): |
|||
""" function for show new due date""" |
|||
self.new_date = False |
|||
if self.recurring: |
|||
self.new_date = self.get_date() |
|||
|
|||
def action_date(self): |
|||
""" Function for automated actions for deadline""" |
|||
today = fields.date.today() |
|||
dates = self.env['mail.activity'].search( |
|||
[('state', 'in', ['today', 'planned']), |
|||
('date_deadline', '=', today), |
|||
('recurring', '=', True)]) |
|||
for rec in dates: |
|||
self.env['mail.activity'].create( |
|||
{'res_id': rec.res_id, |
|||
'res_model_id': rec.res_model_id.id, |
|||
'summary': rec.summary, |
|||
'priority': rec.priority, |
|||
'interval': rec.interval, |
|||
'recurring': rec.recurring, |
|||
'date_deadline': rec.new_date, |
|||
'new_date': rec.get_date(), |
|||
'activity_type_id': rec.activity_type_id.id, |
|||
'user_id': rec.user_id.id |
|||
}) |
|||
rec.state = 'done' |
|||
|
|||
def action_cancel(self): |
|||
""" function for cancel button""" |
|||
return self.write({'state': 'cancel'}) |
|||
|
|||
|
|||
class ActivityGeneral(models.Model): |
|||
_name = 'activity.general' |
|||
_inherit = ['mail.thread', 'mail.activity.mixin'] |
|||
|
|||
name = fields.Char('Name') |
|
@ -0,0 +1,10 @@ |
|||
<odoo> |
|||
<data noupdate="1"> |
|||
<record id="todo_rule_personal_activity" model="ir.rule"> |
|||
<field name="name">Personal Todo</field> |
|||
<field ref="model_mail_activity" name="model_id"/> |
|||
<field name="domain_force">[('user_id','=',user.id)]</field> |
|||
<field name="groups" eval="[(4, ref('base.group_user'))]"/> |
|||
</record> |
|||
</data> |
|||
</odoo> |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 118 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 103 KiB |
After Width: | Height: | Size: 36 KiB |
@ -0,0 +1,618 @@ |
|||
<section class="container"> |
|||
<div class="row"> |
|||
<div class="col-lg-6" style="background-color:#CB114A !important; padding: 4rem 2.5rem 6rem;"> |
|||
<hr style="border: 2px solid #fff; width: 100px; margin-left: 0; margin-bottom: 3rem;"> |
|||
<h1 style="font-family: Montserrat, 'sans-serif'; font-weight: 700; color: #FFF; margin-top: -1rem;"> |
|||
ToDo List |
|||
</h1> |
|||
<p style="font-family: Tahoma, 'sans-serif'; font-size: 18px; font-weight: 500; color: #FFF;"> |
|||
Scheduling & Listing out Activities in Odoo. |
|||
</p> |
|||
<h2 style="font-size: 26px; color: #fff; text-transform: uppercase; margin-top: 3rem;">Key Highlights |
|||
</h2> |
|||
<!-- KEY HIGHLIGHTS --> |
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Recurrance on each activity.</p> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Prioritize each activity.</p> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Schedule general ToDo activities.</p> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Activities can filtered based on user.</p> |
|||
</div> |
|||
</div> |
|||
<!-- END OF KEY HIGHLIGHTS --> |
|||
</div> |
|||
<div class="col-lg-6"> |
|||
<!-- HERO IMAGE --> |
|||
<img src="./assets/hero.gif" width="100%" height="auto" class="img img-responsive"> |
|||
<!-- END OF HERO IMAGE--> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- END OF HERO SECTION --> |
|||
|
|||
<!-- OVERVIEW SECTION --> |
|||
<section class="container"> |
|||
<div class="row"> |
|||
<div class="col-lg-12" style="background-color:#ffffff !important; padding: 4rem 2.5rem;"> |
|||
<hr style="border: 2px solid #000; width: 100px; margin-left: 0; margin-bottom: 3rem;""> |
|||
<h1 |
|||
style=" font-family: Montserrat, 'sans-serif' ; font-weight: 700; color: #000; margin-top: -1rem; |
|||
text-transform: uppercase;"> |
|||
Overview |
|||
</h1> |
|||
<p style="font-family: Tahoma, 'sans-serif'; font-size: 18px; font-weight: 500; color: #000; width: 90%;"> |
|||
The ToDo list module in Odoo helps to schedule and listing out activities which should be done. You |
|||
can create general ToDo activities, prioritize each activity, assign recurrence on activities, |
|||
filtering activities based on the user. |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- END OF OVERVIEW SECTION --> |
|||
|
|||
<!-- FEATURES SECTION --> |
|||
<section class="container"> |
|||
<div class="row"> |
|||
<div class="col-lg-6 d-flex flex-column align-items-center justify-content-center" |
|||
style="background-color:#D4D4D4 !important; padding: 4rem 2.5rem;"> |
|||
<img src="./assets/respnsive-img.png" width="80%" height="auto" class="img img-responsive"> |
|||
</div> |
|||
<div class="col-lg-6" style="background-color:#D4D4D4 !important; padding: 3rem 2.5rem 4rem 0;"> |
|||
<hr style="border: 2px solid #000; width: 100px; margin-left: 0; margin-bottom: 3rem;"> |
|||
<h1 |
|||
style="font-family: Montserrat, 'sans-serif'; font-weight: 700; color: #000; margin-top: -1rem; text-transform: uppercase;"> |
|||
Features |
|||
</h1> |
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-magenta.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 12px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Schedule general ToDo activities</p> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-magenta.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Recurring option for each activity.</p> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-magenta.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Prioritize each activity.</p> |
|||
</div> |
|||
</div> |
|||
<div class="d-flex mt-2"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-magenta.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Activities can filtered based on created user.</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- END OF FEATURES SECTION --> |
|||
|
|||
<!-- SCREENSHOTS SECTION --> |
|||
<section class="container"> |
|||
<div class="row"> |
|||
<div class="col-lg-12" style="background-color:#ffffff !important; padding: 4rem 2.5rem;"> |
|||
<hr style="border: 2px solid #CB114A; width: 100px; margin-left: 0; margin-bottom: 3rem;"> |
|||
<h1 |
|||
style="font-family: Montserrat, 'sans-serif'; font-weight: 700; color: #000; margin-top: -1rem; margin-bottom: 1rem; text-transform: uppercase;"> |
|||
SCREENSHOTS |
|||
</h1> |
|||
</div> |
|||
<div class="col-lg-12" style="background-color:#CB114A !important; padding: 2.5rem; border-radius: 8px;"> |
|||
<div id="odooAppsIndicators" class="carousel slide" data-ride="carousel"> |
|||
<ol class="carousel-indicators" |
|||
style="position: absolute !important; bottom: -90px !important; left: -65.5rem !important"> |
|||
<li data-target="#odooAppsIndicators" data-slide-to="0" class="active" |
|||
style="height: 15px !important; width: 15px !important; background-color: #000 !important;"> |
|||
</li> |
|||
<li data-target="#odooAppsIndicators" data-slide-to="1" |
|||
style="height: 15px !important; width: 15px !important; background-color: #000 !important;"> |
|||
</li> |
|||
<li data-target="#odooAppsIndicators" data-slide-to="2" |
|||
style="height: 15px !important; width: 15px !important; background-color: #000 !important;"> |
|||
</li> |
|||
<li data-target="#odooAppsIndicators" data-slide-to="3" |
|||
style="height: 15px !important; width: 15px !important; background-color: #000 !important;"> |
|||
</li> |
|||
<li data-target="#odooAppsIndicators" data-slide-to="4" |
|||
style="height: 15px !important; width: 15px !important; background-color: #000 !important;"> |
|||
</li> |
|||
</ol> |
|||
<div class="carousel-inner"> |
|||
<div class="carousel-item active" style="overflow: visible;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16 d-flex w-100" |
|||
style="float:left; margin-bottom: 1rem; margin-left: -15px;"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 12px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Default Kanban view of the activity menu.</p> |
|||
</div> |
|||
</div> |
|||
<img class="d-block w-100" src="./assets/screenshots/Todo1.png" alt="First slide"> |
|||
</div> |
|||
|
|||
<div class="carousel-item" style="overflow: visible;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16 d-flex w-100" |
|||
style="float:left; margin-bottom: 1rem; margin-left: -15px;"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Color highlighted details tree view helping you to visualize activities which |
|||
are over due and due today.</p> |
|||
</div> |
|||
</div> |
|||
<img class="d-block w-100" src="./assets/screenshots/todo2.png" alt="First slide"> |
|||
</div> |
|||
|
|||
|
|||
|
|||
<div class="carousel-item" style="overflow: visible;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16 d-flex w-50" |
|||
style="float:left; margin-bottom: 1rem; margin-left: -15px;"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Activity prioritization and description tab. |
|||
</p> |
|||
</div> |
|||
</div> |
|||
<img class="d-block w-100" src="./assets/screenshots/todo3.png" alt="First slide"> |
|||
</div> |
|||
|
|||
<div class="carousel-item" style="overflow: visible;"> |
|||
<div class="col-xs-12 col-sm-12 col-md-12 mb16 mt16 d-flex w-50" |
|||
style="float:left; margin-bottom: 1rem; margin-left: -15px;"> |
|||
<div class="d-flex justify-content-center align-items-center mr-1 deep-2" |
|||
style="background-color: #fff; height: 40px; width: 40px; border-radius: 2px !important;"> |
|||
<img src="./assets/arrow-circle-black.png" height="26px" width="26px"> |
|||
</div> |
|||
<div class="d-flex justify-content-start align-items-center deep-2" |
|||
style="background-color: #fff; height: 40px; width: 100%; border-radius: 2px !important; padding: 10px"> |
|||
<p |
|||
style="font-family: Tahoma, 'sans-serif'; font-size: 13px; font-weight: 600; color: #000; margin-top: 1rem;"> |
|||
Activity filtering options based on creator, and due date. |
|||
</p> |
|||
</div> |
|||
</div> |
|||
<img class="d-block w-100" src="./assets/screenshots/todo4.png" alt="First slide"> |
|||
</div> |
|||
|
|||
|
|||
|
|||
</div> |
|||
<!-- <a class="carousel-control-prev" href="#odooAppsIndicators" role="button" data-slide="prev"> |
|||
<span class="carousel-control-prev-icon" aria-hidden="true"></span> |
|||
<span class="sr-only">Previous</span> |
|||
</a> |
|||
<a class="carousel-control-next" href="#odooAppsIndicators" role="button" data-slide="next"> |
|||
<span class="carousel-control-next-icon" aria-hidden="true"></span> |
|||
<span class="sr-only">Next</span> |
|||
</a> --> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- END OF SCREENSHOTS SECTION--> |
|||
|
|||
<section class="container"> |
|||
<div class="row"> |
|||
<div class="col-lg-12" style="background-color:#ffffff !important; padding: 4rem 2.5rem;"> |
|||
<hr style="border: 2px solid #CB114A; width: 100px; margin-left: 0; margin-bottom: 3rem;"> |
|||
<h1 |
|||
style="font-family: Montserrat, 'sans-serif'; font-weight: 700; color: #000; margin-top: -1rem; margin-bottom: 0rem; text-transform: uppercase;"> |
|||
Suggested Products |
|||
</h1> |
|||
</div> |
|||
</div> |
|||
<div class="col-lg-12"> |
|||
<div id="suggestedSlider" class="row carousel slide" data-ride="carousel"> |
|||
<!-- The slideshow --> |
|||
<div class="carousel-inner"> |
|||
<div class="carousel-item" style="min-height: 191px;"> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|||
<a href="https://apps.odoo.com/apps/modules/14.0/custom_gantt_view/" target="_blank"> |
|||
<div style="border-radius:10px"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius:10px; border-top-right-radius:10px" |
|||
src="./assets/modules/gantt_view.png"> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|||
<a href="https://apps.odoo.com/apps/modules/14.0/odoo_functional_tutorial_com/" target="_blank"> |
|||
<div style="border-radius:10px"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius:10px; border-top-right-radius:10px" |
|||
src="./assets/modules/functional_tutorial.png"> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|||
<a href="https://apps.odoo.com/apps/modules/14.0/shopify_odoo_connector/" target="_blank"> |
|||
<div style="border-radius:10px"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius:10px; border-top-right-radius:10px" |
|||
src="./assets/modules/shopify_connector.png"> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<div class="carousel-item active" style="min-height: 191px;"> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|||
<a href="https://apps.odoo.com/apps/modules/14.0/mobile_service_shop_pro/" target="_blank"> |
|||
<div style="border-radius:10px"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius:10px; border-top-right-radius:10px" |
|||
src="./assets/modules/mobile_service.png"> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|||
<a href="https://apps.odoo.com/apps/modules/14.0/website_sale_extend/" target="_blank"> |
|||
<div style="border-radius:10px"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius:10px; border-top-right-radius:10px" |
|||
src="./assets/modules/advanced_ecom.png"> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
<div class="col-xs-12 col-sm-4 col-md-4 mb16 mt16" style="float:left"> |
|||
<a href="https://apps.odoo.com/apps/modules/14.0/export_stockinfo_xls/" target="_blank"> |
|||
<div style="border-radius:10px"> |
|||
<img class="img img-responsive center-block" |
|||
style="border-top-left-radius:10px; border-top-right-radius:10px" |
|||
src="./assets/modules/export_excel.png"> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Left and right controls --> |
|||
<!-- <a class="carousel-control-prev" href="#suggestedSlider" data-slide="prev" |
|||
style="width:35px; color:#000"> |
|||
<span class="carousel-control-prev-icon"><i class="fa fa-chevron-left" |
|||
style="font-size:24px"></i></span> </a> <a class="carousel-control-next" |
|||
href="#suggestedSlider" data-slide="next" style="width:35px; color:#000"> |
|||
<span class="carousel-control-next-icon"><i class="fa fa-chevron-right" |
|||
style="font-size:24px"></i></span> |
|||
</a> --> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
|
|||
<!-- Our Services --> |
|||
<section class="container" style="margin-top: 6rem;"> |
|||
<div class="row mt-4 position-relative" style="max-width:1540px; margin: 0 auto;"> |
|||
<div class="col-lg-12 jumbotron text-white position-relative" |
|||
style="background: #D4D4D4 !important; border-radius: 10px;"> |
|||
<span class="badge badge-pill px-3 py-2 text-white deep-2-sm font-weight-bold" |
|||
style="background-color: #CB114A;"><i class="fa fa-trophy mr-2"></i>Odoo Gold Partner</span> |
|||
<div class="row"> |
|||
<div class="col-lg-12 mt-4"> |
|||
<h1 style="color: #000;">Our Services</h1> |
|||
<p class="lead" style="color: #000;">We provide following services</p> |
|||
<div class="row d-flex flex-row justify-content-start flex-wrap mt-4 pl-4"> |
|||
<a class="text-dark" href="https://www.cybrosys.com/odoo-customization-and-installation/" |
|||
style="color: white; text-decoration: none;" target="_blank"> |
|||
<div class="bg-white deep-2 d-flex flex-column justify-content-center align-items-center rounded" |
|||
style="padding: 2rem; margin-right: 1rem; height: 150px; width: 150px;"> |
|||
<i class="fa fa-cogs mr-2 mt-2" style="color: #CB114A; font-size: 3rem"></i> |
|||
<h6 class="text-center mt-3" style="color: #000;">Odoo Customization</h6> |
|||
</div> |
|||
</a> |
|||
<a class="text-dark" href="https://www.cybrosys.com/odoo-erp-implementation/" |
|||
style="color: white; text-decoration: none;" target="_blank"> |
|||
<div class="bg-white deep-2 d-flex flex-column justify-content-center align-items-center rounded" |
|||
style="padding: 2rem; margin-right: 1rem; height: 150px; width: 150px;"> |
|||
<i class="fa fa-wrench mr-2 mt-2" style="color: #CB114A; font-size: 3rem"></i> |
|||
<h6 class="text-center mt-3" style="color: #000;">Odoo Implementation</h6> |
|||
</div> |
|||
</a> |
|||
<a class="text-dark" href="https://www.cybrosys.com/odoo-erp-support/" |
|||
style="color: white; text-decoration: none;" target="_blank"> |
|||
<div class="bg-white deep-2 d-flex flex-column justify-content-center align-items-center rounded" |
|||
style="padding: 2rem; margin-right: 1rem; height: 150px; width: 150px;"> |
|||
<i class="fa fa-life-ring mr-2 mt-2" style="color: #CB114A; font-size: 3rem"></i> |
|||
<h6 class="text-center mt-3" style="color: #000;">Odoo Support</h6> |
|||
</div> |
|||
</a> |
|||
<a class="text-dark" href="https://www.cybrosys.com/hire-odoo-developer/" style=text-decoration: |
|||
none;" target="_blank"> |
|||
<div class="bg-white deep-2 d-flex flex-column justify-content-center align-items-center rounded" |
|||
style="padding: 2rem; margin-right: 1rem; height: 150px; width: 150px;"> |
|||
<i class="fa fa-user mr-2 mt-2" style="color: #CB114A; font-size: 3rem"></i> |
|||
<h6 class="text-center mt-3" style="color: #000;">Hire Odoo Developers</h6> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- End of Our Services --> |
|||
<!-- Our Industries --> |
|||
<section class="container" style="margin-top: 0rem;"> |
|||
<div class="row" style="max-width:1540px; "> |
|||
<div class="col-lg-12" style="background-color:#ffffff !important; padding: 4rem 2.5rem;"> |
|||
<hr style="border: 2px solid #CB114A; width: 100px; margin-left: 0; margin-bottom: 3rem;"> |
|||
<h1 |
|||
style="font-family: Montserrat, 'sans-serif'; font-weight: 700; color: #000; margin-top: -1rem; margin-bottom: 0rem; text-transform: uppercase;"> |
|||
Our Industries |
|||
</h1> |
|||
</div> |
|||
<div class="row mt-4 position-relative" style="max-width:1540px; margin: 0 auto;"> |
|||
<!-- Left Column --> |
|||
<div class="col-lg-6"> |
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 mb-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/best-trading-erp/" target="_blank" |
|||
class="text-dark" style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/trading.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">Trading</h4> |
|||
<p style="font-weight: 300;">Easily procure and sell your products</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 my-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/education-erp-software/" target="_blank" |
|||
class="text-dark" style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/education.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">Education</h4> |
|||
<p style="font-weight: 300;">A Collaborative platform for educational |
|||
management</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 my-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/manufacturing-erp-software/" target="_blank" |
|||
class="text-dark" style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/manufacturing.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">Manufacturing</h4> |
|||
<p style="font-weight: 300;">Plan, track and schedule your operations</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 my-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/ecommerce-website/" target="_blank" |
|||
class="text-dark" style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/ecom.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">E-commerce & Website</h4> |
|||
<p style="font-weight: 300;">Mobile friendly, awe-inspiring product pages |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<!-- End of Left Column --> |
|||
<!-- Right Column --> |
|||
<div class="col-lg-6"> |
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 mb-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/pos/" target="_blank" class="text-dark" |
|||
style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/pos.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">POS</h4> |
|||
<p style="font-weight: 300;">Easy configuring and convivial selling</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
|
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 my-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/service-management/" target="_blank" |
|||
class="text-dark" style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/service.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">Service Management</h4> |
|||
<p style="font-weight: 300;">Keep track of services and invoice accordingly |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 my-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/restaurant-management/" target="_blank" |
|||
class="text-dark" style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/restaurant.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">Restaurant</h4> |
|||
<p style="font-weight: 300;">Run your bar or restaurant methodica</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
|
|||
<div class="bg-white deep-2 px-4 py-3 my-3" style="border-radius: 10px;"> |
|||
<a href="https://www.cybrosys.com/odoo/industries/hotel-management-erp/" target="_blank" |
|||
class="text-dark" style="text-decoration: none;"> |
|||
<div class="row"> |
|||
<div class="col-lg-3 no-gutters"> |
|||
<img src="./assets/icons/hotel.png"> |
|||
</div> |
|||
<div class="col-lg-9 no-gutters pt-3"> |
|||
<h4 style="font-family: Roboto, 'sans-serif">Hotel Management</h4> |
|||
<p style="font-weight: 300;">An all-inclusive hotel management application |
|||
</p> |
|||
</div> |
|||
</div> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<!-- End of Right Column --> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
<!-- End of Our Industries--> |
|||
<!-- Footer Section --> |
|||
<section class="container"> |
|||
<div class="row" style="max-width:1540px;"> |
|||
<div class="col-lg-12" style="background-color:#ffffff !important; padding: 4rem 2.5rem;"> |
|||
<h3 class="fw_regular mb0 mt0 text-center" |
|||
style="font-style: Montserrat, 'sans-serif' !important; color: #101010 !important;"> |
|||
<b>Need Help?</b> |
|||
</h3> |
|||
<hr class="mb16" |
|||
style="border-color: #981C1C !important; background-color: #981C1C !important; border-width: 2px; width: 150px;"> |
|||
</div> |
|||
</div> |
|||
|
|||
<!-- Contact Cards --> |
|||
<div class="row d-flex justify-content-center align-items-center" |
|||
style="max-width:1540px; margin: 0 auto 2rem auto;"> |
|||
|
|||
<div class="col-lg-12" |
|||
style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; margin-top: -3.5rem; !important"> |
|||
<p class="mb-4 text-center" style="color: #808e9b; font-size: 1rem;">Do you have any queries regarding |
|||
our |
|||
products & services? Let us know.</p> |
|||
<div class="row"> |
|||
<div class="col-lg-6"> |
|||
<a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover" |
|||
style="text-decoration: none; background-color: #981C1C; color: #FFF; border-radius: 4px;">odoo@cybrosys.com</a> |
|||
</div> |
|||
<div class="col-lg-6"> |
|||
<a href="mailto:info@cybrosys.com" target="_blank" class="btn btn-block deep_hover" |
|||
style="text-decoration: none; background-color: #981C1C; color: #FFF; border-radius: 4px;">info@cybrosys.com</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
</div> |
|||
<!-- End of Contact Cards --> |
|||
</section> |
|||
<!-- Footer --> |
|||
<section class="oe_container" style="padding:2rem 3rem 1rem;"> |
|||
<div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; "> |
|||
<!-- Logo --> |
|||
<div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 4rem;"> |
|||
<img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" /> |
|||
</div> |
|||
<!-- End of Logo --> |
|||
<div class="col-lg-12" style="margin-top: 2rem;"> |
|||
<hr |
|||
style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;"> |
|||
<!-- End of Footer Section --> |
|||
</div> |
|||
</div> |
|||
</section> |
@ -0,0 +1,224 @@ |
|||
<?xml version="1.0"?> |
|||
<odoo> |
|||
<data> |
|||
<!--search views--> |
|||
<record id='todo_list.mail_activity_model_view_search' |
|||
model='ir.ui.view'> |
|||
<field name="name">mail.activity.model.search</field> |
|||
<field name="model">mail.activity</field> |
|||
<field name="arch" type="xml"> |
|||
<search string="Activity"> |
|||
<group expand="1" string="Group By"> |
|||
<filter name="groupby_sequence" |
|||
context="{'group_by' : 'res_model_id'}" |
|||
string="Document Model"/> |
|||
<filter name="groupby_state" |
|||
context="{'group_by' : 'state'}" |
|||
string="State"/> |
|||
<filter name="groupby_prioirity" |
|||
context="{'group_by' : 'priority'}" |
|||
string="Priority"/> |
|||
</group> |
|||
<!--filter views--> |
|||
<filter string="My Activities" |
|||
name="assigned_to_me" |
|||
domain="[('user_id', '=', uid)]"/> |
|||
<filter invisible="0" string="Late Activities" |
|||
name="activities_overdue" |
|||
domain="[('date_deadline', '<', context_today().strftime('%Y-%m-%d'))]" |
|||
help="Show all records which has next action date is before today"/> |
|||
<filter invisible="0" string="Today Activities" |
|||
name="activities_today" |
|||
domain="[('date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/> |
|||
<filter invisible="0" string="Future Activities" |
|||
name="activities_upcoming_all" |
|||
domain="[('date_deadline', '>', context_today().strftime('%Y-%m-%d')) |
|||
]"/> |
|||
</search> |
|||
</field> |
|||
</record> |
|||
|
|||
<!--kanban views--> |
|||
<record id="todo_list.action_todo_kanban" model="ir.ui.view"> |
|||
<field name="name">mail.activity.kanban.inherit</field> |
|||
<field name="model">mail.activity</field> |
|||
<field name="arch" type="xml"> |
|||
<kanban default_order="state desc" default_group_by="state" |
|||
class="mail_activity_kanban_view" sample="1"> |
|||
<templates> |
|||
<t t-name="kanban-box"> |
|||
<div t-attf-class="oe_kanban_card oe_kanban_global_click"> |
|||
<div class="o_dropdown_kanban dropdown"> |
|||
<a class="dropdown-toggle o-no-caret btn" |
|||
role="button" data-toggle="dropdown" |
|||
data-display="static" href="#" |
|||
aria-label="Dropdown menu" |
|||
title="Dropdown menu"> |
|||
<span class="fa fa-ellipsis-v"/> |
|||
</a> |
|||
<div class="dropdown-menu" role="menu"> |
|||
<t t-if="widget.editable"> |
|||
<a role="menuitem" type="edit" |
|||
class="dropdown-item">Edit |
|||
</a> |
|||
</t> |
|||
<t t-if="widget.deletable"> |
|||
<a role="menuitem" type="delete" |
|||
class="dropdown-item">Delete |
|||
</a> |
|||
</t> |
|||
</div> |
|||
</div> |
|||
<div class="o_kanban_content"> |
|||
<div class="o_kanban_record_title"> |
|||
<strong> |
|||
<field name="summary"/> |
|||
</strong> |
|||
</div> |
|||
<div> |
|||
<field name="activity_type_id"/> |
|||
</div> |
|||
<div class="o_kanban_record_bottom"> |
|||
<div class="oe_kanban_bottom_left"> |
|||
<field name="priority" |
|||
widget="priority"/> |
|||
</div> |
|||
<div class="oe_kanban_bottom_right"> |
|||
<field name="user_id" |
|||
widget="many2one_avatar_user"/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</t> |
|||
</templates> |
|||
</kanban> |
|||
</field> |
|||
</record> |
|||
<!--tree view for mail activity--> |
|||
<record id="todo_list.action_todo_tree" model="ir.ui.view"> |
|||
<field name="name">mail.activity.tree</field> |
|||
<field name="model">mail.activity</field> |
|||
<field name="arch" type="xml"> |
|||
<tree string="Activities" |
|||
decoration-danger="date_deadline < current_date" |
|||
decoration-success="date_deadline == current_date" |
|||
default_order="date_deadline" create="false"> |
|||
<field name="priority" widget="priority" class="mr-3"/> |
|||
<field name="summary"/> |
|||
<field name="activity_type_id"/> |
|||
<field name="date_deadline"/> |
|||
<field name="res_model_id" optional="hide"/> |
|||
<field name="state" |
|||
decoration-success="state == 'planned' or state == 'done'" |
|||
decoration-info="state == 'today' " widget="badge" |
|||
optional="show"/> |
|||
</tree> |
|||
</field> |
|||
</record> |
|||
|
|||
<!--form view for mail activity--> |
|||
<record id="todo_list.action_todo_form" model="ir.ui.view"> |
|||
<field name="name">mail.activity.form</field> |
|||
<field name="model">mail.activity</field> |
|||
<field name="arch" type="xml"> |
|||
<form string="Activity"> |
|||
<header> |
|||
<button name="action_done" type="object" |
|||
string="Mark As Done" |
|||
states="overdue,planned,today"/> |
|||
<field name="state" widget="statusbar" |
|||
statusbar_visible="today"/> |
|||
<button name="action_cancel" type="object" |
|||
string="Cancel" |
|||
states="planned,today,overdue"/> |
|||
</header> |
|||
<sheet> |
|||
<group> |
|||
<group> |
|||
<field name="priority" widget="priority" |
|||
class="mr-3"/> |
|||
<field name="activity_type_id"/> |
|||
<field name="user_id" invisible="1"/> |
|||
<field name="summary" |
|||
placeholder="e.g. Discuss proposal"/> |
|||
<field name="res_id" invisible="1"/> |
|||
<field name="res_model" invisible="1"/> |
|||
<field name="res_model_id" invisible="1"/> |
|||
|
|||
</group> |
|||
<group> |
|||
<field name="date_deadline"/> |
|||
<field name="recurring"/> |
|||
<field name="interval" |
|||
attrs="{'invisible': [('recurring','!=',True)], |
|||
'required': [('recurring', '=', True)]}"/> |
|||
<field name="new_date" |
|||
attrs="{'invisible': [('recurring','!=',True)]}"/> |
|||
</group> |
|||
</group> |
|||
<field name="note" placeholder="Log a note..."/> |
|||
</sheet> |
|||
<div class="oe_chatter"> |
|||
<field name="message_follower_ids" |
|||
widget="mail_followers"/> |
|||
<field name="message_ids" widget="mail_thread"/> |
|||
</div> |
|||
</form> |
|||
</field> |
|||
</record> |
|||
<!--action mail activity--> |
|||
<record id="action_activity" model="ir.actions.act_window"> |
|||
<field name="name">Activity</field> |
|||
<field name="res_model">mail.activity</field> |
|||
<field name="view_mode">kanban,tree,form</field> |
|||
<field name="context" |
|||
eval="{'default_res_model_id': ref('todo_list.model_activity_general')}"/> |
|||
<field name="search_view_id" |
|||
ref="todo_list.mail_activity_model_view_search"/> |
|||
<field name="help" type="html"> |
|||
<p class="o_view_nocontent_smiling_face"> |
|||
Create your ToDo List |
|||
</p> |
|||
</field> |
|||
</record> |
|||
<record id="todo_list_action_view_kanban" |
|||
model="ir.actions.act_window.view"> |
|||
<field name="sequence" eval="1"/> |
|||
<field name="view_mode">kanban</field> |
|||
<field name="view_id" ref="todo_list.action_todo_kanban"/> |
|||
<field name="act_window_id" ref="action_activity"/> |
|||
</record> |
|||
|
|||
<record id="todo_list_action_view_tree" |
|||
model="ir.actions.act_window.view"> |
|||
<field name="sequence" eval="2"/> |
|||
<field name="view_mode">tree</field> |
|||
<field name="view_id" ref="todo_list.action_todo_tree"/> |
|||
<field name="act_window_id" ref="action_activity"/> |
|||
</record> |
|||
<record id="todo_list_action_view_form" |
|||
model="ir.actions.act_window.view"> |
|||
<field name="sequence" eval="3"/> |
|||
<field name="view_mode">form</field> |
|||
<field name="view_id" ref="todo_list.action_todo_form"/> |
|||
<field name="act_window_id" ref="action_activity"/> |
|||
</record> |
|||
<record id="mail_activity_type" model="ir.actions.act_window"> |
|||
<field name="name">Activity Types</field> |
|||
<field name="res_model">mail.activity.type</field> |
|||
<field name="view_mode">tree,form</field> |
|||
</record> |
|||
|
|||
<!--menuitem--> |
|||
<menuitem id="list_menu" name="To Do" sequence="10"/> |
|||
<menuitem id="todo_menu" name="Activities" |
|||
parent="list_menu" sequence="5"/> |
|||
<menuitem id="activity_menu" parent="list_menu" |
|||
name="Activities" action="action_activity" sequence="6"/> |
|||
<menuitem id="config_activity_types" |
|||
name="Activity Types" |
|||
parent="list_menu" |
|||
action="mail_activity_type"/> |
|||
</data> |
|||
</odoo> |