110 lines
4.7 KiB
Python
110 lines
4.7 KiB
Python
import ast
|
|
import datetime
|
|
import uuid
|
|
import logging
|
|
|
|
from PIL import Image,ImageDraw,ImageFont
|
|
|
|
from odoo import api, fields, models, _
|
|
from odoo import tools
|
|
from odoo.exceptions import ValidationError
|
|
from datetime import date
|
|
from datetime import datetime
|
|
from dateutil.relativedelta import relativedelta
|
|
from pyffmpeg import FFmpeg
|
|
from tuya_iot import TuyaOpenAPI, TUYA_LOGGER
|
|
from tuya_connector import TuyaOpenAPI, TUYA_LOGGER
|
|
from webdav4.client import Client
|
|
from webdav4.fsspec import WebdavFileSystem
|
|
import sys
|
|
|
|
TUYA_LOGGER.setLevel(logging.DEBUG)
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
class dsskileadscategories(models.Model):
|
|
|
|
_name = "dss.kileads.categories"
|
|
_description = "DigitalSignage KI Lead Kategorien"
|
|
_rec_name = "uuid"
|
|
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
|
|
|
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
|
date_create = fields.Date('Erstellungsdatum',default=lambda self: self._default_create_date())
|
|
date_lastedit = fields.Date('Änderungsdatum')
|
|
user_create = fields.Char('Erstellungsuser',default=lambda self: self._default_create_user())
|
|
user_lastedit = fields.Char('Änderungsuser')
|
|
categorie = fields.Char(string="Kategorie", required=True)
|
|
|
|
@api.model
|
|
def _default_uuid(self):
|
|
return str(uuid.uuid4())
|
|
|
|
@api.model
|
|
def _default_create_date(self):
|
|
return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
|
|
@api.model
|
|
def _default_create_user(self):
|
|
return self.env.user.name if self.env.user else 'System'
|
|
|
|
|
|
class dsskileads(models.Model):
|
|
|
|
_name = "dss.kileads"
|
|
_description = "DigitalSignage KI Leads"
|
|
_inherit = ['mail.thread','mail.activity.mixin']
|
|
_rec_name = "uuid"
|
|
# _inherit = ['mail.thread', 'mail.activity.mixin']
|
|
|
|
uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID')
|
|
date_create = fields.Date('Erstellungsdatum',default=lambda self: self._default_create_date())
|
|
date_lastedit = fields.Date('Änderungsdatum')
|
|
user_create = fields.Char('Erstellungsuser',default=lambda self: self._default_create_user())
|
|
user_lastedit = fields.Char('Änderungsuser')
|
|
lead_request = fields.Many2one('dss.kileads.requests', string="Anfrage des Leads",tracking=True)
|
|
lead_id = fields.Char(string="Lead ID", required=True, tracking=True)
|
|
lead_request_id = fields.Char(related="lead_request.request_id")
|
|
lead_converted = fields.Boolean(string='Lead ausgewertet',tracking=True)
|
|
lead_raw_data = fields.Char(string="Raw Antwort der Anfrage")
|
|
#lead_crm_lead = fields.Many2one("crm.leads")
|
|
lead_nummer = fields.Integer(string="Nummer im Request")
|
|
lead_name = fields.Char(string="Name",tracking=True)
|
|
lead_address = fields.Char(string="Adresse",tracking=True)
|
|
lead_address_city = fields.Char(string="Adresse Stadt",tracking=True)
|
|
lead_address_street = fields.Char(string="Adresse Strasse",tracking=True)
|
|
lead_address_country = fields.Char(string="Adresse Land",tracking=True)
|
|
lead_address_district = fields.Char(string="Adresse Bezirk",tracking=True)
|
|
lead_address_state = fields.Char(string="Adresse Bundenland",tracking=True)
|
|
lead_address_zip = fields.Char(string="Adresse PLZ",tracking=True)
|
|
lead_google_id = fields.Char(string="Google ID",tracking=True)
|
|
lead_place_id = fields.Char(string="Google Place ID",tracking=True)
|
|
lead_main_category = fields.Char(string="Tätigkeitsfeld",tracking=True)
|
|
#lead_categories = fields.Many2many("dss.kileads.categories",string="Kategorien")
|
|
lead_phone = fields.Char(string="Telefon",tracking=True)
|
|
lead_website = fields.Char(string="Webseite",tracking=True)
|
|
lead_latitude = fields.Char(string="Latitude",tracking=True)
|
|
lead_longitude = fields.Char(string="Longitude",tracking=True)
|
|
lead_picture_url = fields.Char(string="Bild",tracking=True)
|
|
lead_exported_ignore_caller = fields.Boolean(string="vom Caller zu ignorieren",tracking=True)
|
|
lead_exported_to_caller = fields.Boolean(string="zum Caller exportiert",tracking=True)
|
|
lead_caller_response = fields.Char(string="Antwort vom Caller",tracking=True)
|
|
lead_used_in_crm = fields.Boolean(string="In CRM verwendet",tracking=True)
|
|
|
|
@api.model
|
|
def _default_uuid(self):
|
|
return str(uuid.uuid4())
|
|
|
|
@api.model
|
|
def _default_create_date(self):
|
|
return datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
|
|
|
@api.model
|
|
def _default_create_user(self):
|
|
return self.env.user.name if self.env.user else 'System'
|
|
|
|
|
|
@api.model
|
|
def exportcallercsv(self):
|
|
for record in self:
|
|
record.lead_exported_to_caller = True
|
|
|