todo
|
|
@ -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,49 @@
|
|||
# -*- 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",
|
||||
'live_test_url': 'https://youtu.be/LGiDWPFdkbks',
|
||||
'category': 'Tools',
|
||||
'version': '18.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,13 @@
|
|||
<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>
|
||||
</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,2 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_activity_general,access.activity.general,model_activity_general,base.group_user,1,1,1,1
|
||||
|
|
|
@ -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: 56 KiB |
|
After Width: | Height: | Size: 16 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" 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="#odooAppsIndicators" 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>
|
||||
</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-color: #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="skype:cybrosystechnologies?chat" target="_blank" class="btn btn-block deep_hover"
|
||||
style="text-decoration: none; background-color: #981C1C; color: #FFF; border-radius: 4px;">cybrosystechnologies</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,222 @@
|
|||
<?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>
|
||||
<!-- تم تغيير kanban-box إلى card -->
|
||||
<t t-name="card">
|
||||
<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>
|
||||
|
||||
<!--list view for mail activity-->
|
||||
<record id="todo_list.action_todo_tree" model="ir.ui.view">
|
||||
<field name="name">mail.activity.list</field>
|
||||
<field name="model">mail.activity</field>
|
||||
<field name="arch" type="xml">
|
||||
<!-- تم تغيير tree إلى list -->
|
||||
<list 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"/>
|
||||
</list>
|
||||
</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>
|
||||
<!-- تم حذف states من الأزرار -->
|
||||
<button name="action_done" type="object" string="Mark As Done"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="today"/>
|
||||
<button name="action_cancel" type="object" string="Cancel"/>
|
||||
</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"/>
|
||||
<!-- تم حذف attrs من الحقول لجعلها ظاهرة بشكل دائم مؤقتاً -->
|
||||
<field name="interval"/>
|
||||
<field name="new_date"/>
|
||||
</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>
|
||||
<!-- تم تغيير tree إلى list -->
|
||||
<field name="view_mode">kanban,list,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"/>
|
||||
<!-- تم تغيير tree إلى list -->
|
||||
<field name="view_mode">list</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>
|
||||
<!-- تم تغيير tree إلى list -->
|
||||
<field name="view_mode">list,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>
|
||||