96 changed files with 2501 additions and 1766 deletions
-
1.dockerignore
-
3README.md
-
2beesdoo_account/readme/CONTRIBUTORS.rst
-
44beesdoo_base/__manifest__.py
-
1beesdoo_base/demo/eaters.xml
-
29beesdoo_base/models/membercard.py
-
88beesdoo_base/models/partner.py
-
2beesdoo_base/readme/CONTRIBUTORS.rst
-
4beesdoo_base/security/ir.model.access.csv
-
47beesdoo_base/wizard/member_card.py
-
18beesdoo_base/wizard/partner.py
-
30beesdoo_base/wizard/portal_wizard.py
-
23beesdoo_crelan_csv/__manifest__.py
-
2beesdoo_crelan_csv/models/account_journal.py
-
129beesdoo_crelan_csv/wizard/import_crelan_csv.py
-
47beesdoo_easy_my_coop/__manifest__.py
-
27beesdoo_easy_my_coop/controllers/main.py
-
8beesdoo_easy_my_coop/models/product.py
-
20beesdoo_easy_my_coop/models/res_company.py
-
40beesdoo_easy_my_coop/models/res_partner.py
-
13beesdoo_easy_my_coop/models/subscription_request.py
-
50beesdoo_easy_my_coop/tests/test_res_partner.py
-
13beesdoo_easy_my_coop/wizards/beesdoo_shift_subscribe.py
-
25beesdoo_inventory/__manifest__.py
-
43beesdoo_inventory/models/stock.py
-
2beesdoo_inventory/readme/CONTRIBUTORS.rst
-
2beesdoo_pos/__init__.py
-
32beesdoo_pos/__manifest__.py
-
2beesdoo_pos/models/__init__.py
-
4beesdoo_pos/models/beesdoo_pos.py
-
2beesdoo_pos/readme/CONTRIBUTORS.rst
-
2beesdoo_pos/static/src/css/beesdoo.css
-
2beesdoo_pos_reporting/models/res_partner.py
-
2beesdoo_pos_reporting/readme/CONTRIBUTORS.rst
-
38beesdoo_product/__manifest__.py
-
28beesdoo_product/data/product_sequence.xml
-
2beesdoo_product/models/__init__.py
-
281beesdoo_product/models/beesdoo_product.py
-
2beesdoo_product/readme/CONTRIBUTORS.rst
-
10beesdoo_product/security/ir.model.access.csv
-
24beesdoo_product/wizard/label_printing_utils.py
-
28beesdoo_product_usability/__manifest__.py
-
16beesdoo_product_usability/models/beesdoo_product.py
-
5beesdoo_purchase/__manifest__.py
-
38beesdoo_shift/__manifest__.py
-
1beesdoo_shift/models/__init__.py
-
295beesdoo_shift/models/cooperative_status.py
-
225beesdoo_shift/models/planning.py
-
127beesdoo_shift/models/res_partner.py
-
236beesdoo_shift/models/task.py
-
2beesdoo_shift/readme/CONTRIBUTORS.rst
-
21beesdoo_shift/wizard/assign_super_coop.py
-
72beesdoo_shift/wizard/batch_template.py
-
64beesdoo_shift/wizard/extension.py
-
41beesdoo_shift/wizard/holiday.py
-
36beesdoo_shift/wizard/instanciate_planning.py
-
193beesdoo_shift/wizard/subscribe.py
-
50beesdoo_shift/wizard/temporary_exemption.py
-
38beesdoo_shift_attendance/__manifest__.py
-
47beesdoo_shift_attendance/models/attendance_sheet.py
-
4beesdoo_shift_attendance/models/res_config_settings.py
-
22beesdoo_shift_attendance/tests/test_beesdoo_shift.py
-
8beesdoo_shift_attendance/wizard/generate_missing_attendance_sheets.py
-
7beesdoo_shift_attendance/wizard/validate_attendance_sheet.py
-
10beesdoo_stock/__manifest__.py
-
30beesdoo_stock/models/stock.py
-
2beesdoo_stock_coverage/models/product_template.py
-
1beesdoo_stock_coverage/readme/CONTRIBUTORS.rst
-
5beesdoo_stock_coverage/tests/test_stock_coverage.py
-
31beesdoo_website_eater/__manifest__.py
-
10beesdoo_website_eater/controllers/main.py
-
22beesdoo_website_posorder_amount/controllers/main.py
-
6beesdoo_website_shift/__manifest__.py
-
355beesdoo_website_shift/controllers/main.py
-
29beesdoo_website_shift/models/res_config.py
-
21beesdoo_website_shift/models/website.py
-
2beesdoo_website_shift/readme/CONTRIBUTORS.rst
-
29beesdoo_website_theme/__manifest__.py
-
2beesdoo_website_theme/readme/CONTRIBUTORS.rst
-
40beesdoo_worker_status/__manifest__.py
-
256beesdoo_worker_status/models/cooperative_status.py
-
44beesdoo_worker_status/models/task.py
-
2initial-data-load/01_readme.md
-
14install-odoo-docker.md
-
512install-odoo-linux-server.md
-
1install-odoo-linux.md
-
2macavrac_base/__init__.py
-
26macavrac_base/__manifest__.py
-
2macavrac_base/models/__init__.py
-
74macavrac_base/models/res_partner.py
-
2purchase_order_generator/models/product_template.py
-
2purchase_order_generator/models/purchase_order.py
-
5purchase_order_generator/models/purchase_order_generator.py
-
4purchase_order_generator/models/purchase_order_generator_line.py
-
2purchase_order_generator/tests/test_pog.py
-
4website_portal_restrict_modification/controllers/main.py
@ -1,2 +1 @@ |
|||
* |
|||
|
@ -0,0 +1,2 @@ |
|||
* Beescoop - Cellule IT |
|||
* Coop IT Easy SCRLfs |
@ -1,24 +1,35 @@ |
|||
from odoo import models, fields, api |
|||
import uuid |
|||
|
|||
class MemberCard(models.Model): |
|||
from odoo import api, fields, models |
|||
|
|||
|
|||
class MemberCard(models.Model): |
|||
def _get_current_user(self): |
|||
return self.env.uid |
|||
|
|||
def _compute_bar_code(self): |
|||
rule = self.env['barcode.rule'].search([('name', '=', 'Customer Barcodes')])[0] |
|||
rule = self.env["barcode.rule"].search( |
|||
[("name", "=", "Customer Barcodes")] |
|||
)[0] |
|||
size = 13 - len(rule.pattern) |
|||
ean = rule.pattern + str(uuid.uuid4().fields[-1])[:size] |
|||
return ean[0:12] + str(self.env['barcode.nomenclature'].ean_checksum(ean)) |
|||
return ean[0:12] + str( |
|||
self.env["barcode.nomenclature"].ean_checksum(ean) |
|||
) |
|||
|
|||
_name = 'member.card' |
|||
_order = 'create_date desc' |
|||
_name = "member.card" |
|||
_order = "create_date desc" |
|||
_description = "Member Card" |
|||
|
|||
valid = fields.Boolean(default=True, string="Active") |
|||
barcode = fields.Char("Barcode", oldname='ean13', default=_compute_bar_code) |
|||
partner_id = fields.Many2one('res.partner') #, default=_get_current_client) |
|||
responsible_id = fields.Many2one('res.users', default=_get_current_user, string="Responsible") |
|||
barcode = fields.Char( |
|||
"Barcode", oldname="ean13", default=_compute_bar_code |
|||
) |
|||
partner_id = fields.Many2one( |
|||
"res.partner" |
|||
) # , default=_get_current_client) |
|||
responsible_id = fields.Many2one( |
|||
"res.users", default=_get_current_user, string="Responsible" |
|||
) |
|||
end_date = fields.Date(readonly=True, string="Expiration Date") |
|||
comment = fields.Char("Reason", required=True) |
@ -0,0 +1,2 @@ |
|||
* Beescoop - Cellule IT |
|||
* Coop IT Easy SCRLfs |
@ -1,2 +1,2 @@ |
|||
"id","name","model_id/id","group_id/id","perm_read","perm_write","perm_create","perm_unlink" |
|||
"member_card_read_all","member card read all","beesdoo_base.model_member_card","","True","False","False","False" |
|||
"id","name","model_id/id","group_id/id","perm_read","perm_write","perm_create","perm_unlink" |
|||
"member_card_read_all","member card read all","beesdoo_base.model_member_card","","True","False","False","False" |
@ -1,20 +1,22 @@ |
|||
from odoo import models, fields, api |
|||
from odoo import api, fields, models |
|||
|
|||
|
|||
class NewEaterWizard(models.TransientModel): |
|||
""" |
|||
A transient model for the creation of a eater related to a worker. |
|||
""" |
|||
_name = 'eater.new.wizard' |
|||
_description = 'eater.new.wizard' |
|||
|
|||
_name = "eater.new.wizard" |
|||
_description = "eater.new.wizard" |
|||
|
|||
def _get_default_partner(self): |
|||
return self.env.context['active_id'] |
|||
return self.env.context["active_id"] |
|||
|
|||
first_name = fields.Char('First Name', required=True) |
|||
last_name = fields.Char('Last Name', required=True) |
|||
email = fields.Char('Email') |
|||
first_name = fields.Char("First Name", required=True) |
|||
last_name = fields.Char("Last Name", required=True) |
|||
email = fields.Char("Email") |
|||
|
|||
partner_id = fields.Many2one('res.partner', default=_get_default_partner) |
|||
partner_id = fields.Many2one("res.partner", default=_get_default_partner) |
|||
|
|||
@api.one |
|||
def create_new_eater(self): |
|||
|
@ -1,25 +1,29 @@ |
|||
from odoo import models, fields, api |
|||
from odoo import SUPERUSER_ID |
|||
from odoo import SUPERUSER_ID, api, fields, models |
|||
|
|||
|
|||
class BeesdooWizard(models.TransientModel): |
|||
|
|||
_inherit = 'portal.wizard' |
|||
_inherit = "portal.wizard" |
|||
|
|||
@api.onchange('portal_id') |
|||
@api.onchange("portal_id") |
|||
def onchange_portal(self): |
|||
# for each partner, determine corresponding portal.wizard.user records |
|||
res_partner = self.env['res.partner'] |
|||
partner_ids = self._context.get('active_ids', []) |
|||
res_partner = self.env["res.partner"] |
|||
partner_ids = self._context.get("active_ids", []) |
|||
|
|||
contact_ids = set() |
|||
for partner in res_partner.browse(partner_ids): |
|||
for contact in (partner.child_ids | partner): |
|||
for contact in partner.child_ids | partner: |
|||
# make sure that each contact appears at most once in the list |
|||
if contact.id not in contact_ids: |
|||
contact_ids.add(contact.id) |
|||
in_portal = self.portal_id in contact.user_ids.mapped('groups_id') |
|||
self.user_ids |= self.env['portal.wizard.user'].new({ |
|||
'partner_id': contact.id, |
|||
'email': contact.email, |
|||
'in_portal': in_portal, |
|||
}) |
|||
in_portal = self.portal_id in contact.user_ids.mapped( |
|||
"groups_id" |
|||
) |
|||
self.user_ids |= self.env["portal.wizard.user"].new( |
|||
{ |
|||
"partner_id": contact.id, |
|||
"email": contact.email, |
|||
"in_portal": in_portal, |
|||
} |
|||
) |
@ -1,35 +1,28 @@ |
|||
{ |
|||
'name': "Beescoop link with easy my coop", |
|||
|
|||
'summary': """ |
|||
"name": "Beescoop link with easy my coop", |
|||
"summary": """ |
|||
Module that made the link between beesdoo customization |
|||
and easy_my_coop |
|||
""", |
|||
|
|||
'description': """ |
|||
"description": """ |
|||
""", |
|||
|
|||
'author': "BEES coop, Coop IT Easy", |
|||
'website': "https://github.com/beescoop/Obeesdoo", |
|||
|
|||
'category': 'Cooperative management', |
|||
'version': '12.0.1.0.0', |
|||
|
|||
'depends': ['beesdoo_base', |
|||
'beesdoo_shift', |
|||
'easy_my_coop', |
|||
'easy_my_coop_website', |
|||
'partner_age', |
|||
], |
|||
|
|||
'data': [ |
|||
'views/res_company.xml', |
|||
'views/subscription_request.xml', |
|||
'views/subscription_templates.xml', |
|||
'views/product.xml' |
|||
"author": "BEES coop, Coop IT Easy", |
|||
"website": "https://github.com/beescoop/Obeesdoo", |
|||
"category": "Cooperative management", |
|||
"version": "12.0.1.0.0", |
|||
"depends": [ |
|||
"beesdoo_base", |
|||
"beesdoo_shift", |
|||
"easy_my_coop", |
|||
"easy_my_coop_website", |
|||
"partner_age", |
|||
], |
|||
'demo': [ |
|||
'demo/product_share.xml', |
|||
"data": [ |
|||
"views/res_company.xml", |
|||
"views/subscription_request.xml", |
|||
"views/subscription_templates.xml", |
|||
"views/product.xml", |
|||
], |
|||
'auto_install': True, |
|||
"demo": ["demo/product_share.xml"], |
|||
"auto_install": True, |
|||
} |
@ -1,19 +1,22 @@ |
|||
from odoo import http |
|||
from odoo.http import request |
|||
|
|||
from odoo.addons.easy_my_coop_website.controllers.main import WebsiteSubscription as Base |
|||
from odoo.addons.easy_my_coop_website.controllers.main import ( |
|||
WebsiteSubscription as Base, |
|||
) |
|||
|
|||
class WebsiteSubscription(Base): |
|||
|
|||
class WebsiteSubscription(Base): |
|||
def fill_values(self, values, is_company, logged, load_from_user=False): |
|||
values = super(WebsiteSubscription, self).fill_values(values, |
|||
is_company, |
|||
logged, |
|||
load_from_user) |
|||
cmp = request.env['res.company']._company_default_get() |
|||
values.update({ |
|||
'display_info_session': cmp.display_info_session_confirmation, |
|||
'info_session_required': cmp.info_session_confirmation_required, |
|||
'info_session_text': cmp.info_session_confirmation_text, |
|||
}) |
|||
values = super(WebsiteSubscription, self).fill_values( |
|||
values, is_company, logged, load_from_user |
|||
) |
|||
cmp = request.env["res.company"]._company_default_get() |
|||
values.update( |
|||
{ |
|||
"display_info_session": cmp.display_info_session_confirmation, |
|||
"info_session_required": cmp.info_session_confirmation_required, |
|||
"info_session_text": cmp.info_session_confirmation_text, |
|||
} |
|||
) |
|||
return values |
@ -1,26 +1,25 @@ |
|||
# Copyright 2019 Coop IT Easy SCRLfs |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). |
|||
|
|||
from odoo import api, fields, models, _ |
|||
from odoo import _, api, fields, models |
|||
|
|||
|
|||
class SubscriptionRequest(models.Model): |
|||
|
|||
_inherit = 'subscription.request' |
|||
_inherit = "subscription.request" |
|||
|
|||
info_session_confirmed = fields.Boolean( |
|||
string="Confirmed Info Session", |
|||
default=False, |
|||
string="Confirmed Info Session", default=False |
|||
) |
|||
|
|||
def get_partner_vals(self): |
|||
partner_vals = super(SubscriptionRequest, self).get_partner_vals() |
|||
partner_vals['info_session_confirmed'] = self.info_session_confirmed |
|||
partner_vals["info_session_confirmed"] = self.info_session_confirmed |
|||
return partner_vals |
|||
|
|||
def get_required_field(self): |
|||
required_fields = super(SubscriptionRequest, self).get_required_field() |
|||
company = self.env['res.company']._company_default_get() |
|||
company = self.env["res.company"]._company_default_get() |
|||
if company.info_session_confirmation_required: |
|||
required_fields.append('info_session_confirmed') |
|||
required_fields.append("info_session_confirmed") |
|||
return required_fields |
@ -0,0 +1,2 @@ |
|||
* Beescoop - Cellule IT |
|||
* Coop IT Easy SCRLfs |
@ -1 +1 @@ |
|||
from . import models |
|||
from . import models |
@ -1 +1 @@ |
|||
from . import beesdoo_pos |
|||
from . import beesdoo_pos |
@ -0,0 +1,2 @@ |
|||
* Beescoop - Cellule IT |
|||
* Coop IT Easy SCRLfs |
@ -0,0 +1,2 @@ |
|||
* Beescoop - Cellule IT |
|||
* Coop IT Easy SCRLfs |