Public release from ruodoo-project: 19.0 - 2026-05-10 21:19:01 UTC

This commit is contained in:
CI Publish Bot
2026-05-10 21:19:11 +00:00
commit cbf9e6e6d6
1213 changed files with 183945 additions and 0 deletions

View File

@ -0,0 +1,75 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
from odoo.exceptions import AccessError
class PremiumService(models.Model):
_name = "premium.service"
_description = "Премиум: сервис/продукт"
_order = "sequence, name"
name = fields.Char(string="Название", required=True, translate=True)
sequence = fields.Integer(default=10)
category = fields.Selection(
selection=[
("services", "Услуги"),
("bank", "Банки, кассы, ЭДО"),
("wms", "WMS, логистика и ЧЗ"),
("marketplace", "Маркетплейсы"),
("industry", "Отраслевые"),
("other", "Другое"),
],
string="Категория",
required=True,
default="services",
translate=False,
)
short_description = fields.Text(string="Краткое описание", translate=True)
description = fields.Html(string="Описание", sanitize=True, translate=True)
author_url = fields.Char(string="Автор (URL)")
image = fields.Image(string="Изображение", max_width=1024, max_height=768)
def write(self, vals):
# Проверяем, является ли пользователь администратором
if not self.env.user.has_group('base.group_system'):
# Если не администратор, запрещаем запись
raise AccessError("Только администратор может редактировать карточки сервисов.")
return super(PremiumService, self).write(vals)
@api.model
def create(self, vals):
# Проверяем, является ли пользователь администратором
if not self.env.user.has_group('base.group_system'):
# Если не администратор, запрещаем создание
raise AccessError("Только администратор может создавать карточки сервисов.")
return super(PremiumService, self).create(vals)
def unlink(self):
# Проверяем, является ли пользователь администратором
if not self.env.user.has_group('base.group_system'):
# Если не администратор, запрещаем удаление
raise AccessError("Только администратор может удалять карточки сервисов.")
return super(PremiumService, self).unlink()
def action_open_form(self):
self.ensure_one()
return {
"type": "ir.actions.act_window",
"res_model": self._name,
"res_id": self.id,
"view_mode": "form",
"target": "current",
}
def action_open_order_wizard(self):
self.ensure_one()
return {
"name": _("Заказ сервиса"),
"type": "ir.actions.act_window",
"res_model": "premium.order.wizard",
"view_mode": "form",
"target": "new",
"context": {"default_service_id": self.id},
}