mirror of
https://github.com/Ladebeze66/odoo_toolkit.git
synced 2025-12-13 10:46:52 +01:00
J7-1
This commit is contained in:
parent
6f7b59b079
commit
56d7e7271f
@ -1,2 +1,3 @@
|
||||
odoorpc
|
||||
bs4
|
||||
bs4
|
||||
html
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
260
data_filter.py
260
data_filter.py
@ -0,0 +1,260 @@
|
||||
import os
|
||||
import json
|
||||
import re
|
||||
from bs4 import BeautifulSoup
|
||||
import html
|
||||
import shutil
|
||||
from typing import Dict, List, Any, Optional, Tuple, Union
|
||||
|
||||
|
||||
def clean_html(html_content: str) -> str:
|
||||
"""
|
||||
Nettoie le contenu HTML en supprimant toutes les balises mais en préservant le texte.
|
||||
|
||||
Args:
|
||||
html_content: Contenu HTML à nettoyer
|
||||
|
||||
Returns:
|
||||
Texte nettoyé sans balises HTML
|
||||
"""
|
||||
if not html_content:
|
||||
return ""
|
||||
|
||||
# Utiliser BeautifulSoup pour extraire le texte
|
||||
soup = BeautifulSoup(html_content, 'html.parser')
|
||||
|
||||
# Récupérer le texte sans balises HTML
|
||||
text = soup.get_text(separator=' ', strip=True)
|
||||
|
||||
# Décodage des entités HTML spéciales
|
||||
text = html.unescape(text)
|
||||
|
||||
# Nettoyer les espaces multiples
|
||||
text = re.sub(r'\s+', ' ', text)
|
||||
|
||||
# Nettoyer les lignes vides multiples
|
||||
text = re.sub(r'\n\s*\n', '\n\n', text)
|
||||
|
||||
return text.strip()
|
||||
|
||||
|
||||
def process_message_file(message_file_path: str, output_dir: str) -> None:
|
||||
"""
|
||||
Traite un fichier de message en nettoyant le contenu HTML des messages.
|
||||
|
||||
Args:
|
||||
message_file_path: Chemin du fichier de message à traiter
|
||||
output_dir: Répertoire de sortie pour le fichier traité
|
||||
"""
|
||||
try:
|
||||
with open(message_file_path, 'r', encoding='utf-8') as f:
|
||||
message_data = json.load(f)
|
||||
|
||||
# Vérifier si le message contient un corps HTML
|
||||
if 'body' in message_data and message_data['body']:
|
||||
# Remplacer le contenu HTML par le texte filtré
|
||||
message_data['body'] = clean_html(message_data['body'])
|
||||
|
||||
# Écrire le message filtré
|
||||
output_file_path = os.path.join(output_dir, os.path.basename(message_file_path))
|
||||
with open(output_file_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(message_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print(f"Message traité: {os.path.basename(message_file_path)}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Erreur lors du traitement du fichier {message_file_path}: {e}")
|
||||
|
||||
|
||||
def process_messages_threads(threads_file_path: str, output_dir: str) -> None:
|
||||
"""
|
||||
Traite un fichier de threads de messages en nettoyant le contenu HTML.
|
||||
|
||||
Args:
|
||||
threads_file_path: Chemin du fichier de threads de messages
|
||||
output_dir: Répertoire de sortie pour le fichier traité
|
||||
"""
|
||||
try:
|
||||
with open(threads_file_path, 'r', encoding='utf-8') as f:
|
||||
threads_data = json.load(f)
|
||||
|
||||
# Parcourir tous les threads
|
||||
for thread_id, thread in threads_data.items():
|
||||
# Traiter le message principal
|
||||
if thread.get('main_message') and 'body' in thread['main_message']:
|
||||
thread['main_message']['body'] = clean_html(thread['main_message']['body'])
|
||||
|
||||
# Traiter les réponses
|
||||
for i, reply in enumerate(thread.get('replies', [])):
|
||||
if 'body' in reply:
|
||||
thread['replies'][i]['body'] = clean_html(reply['body'])
|
||||
|
||||
# Écrire le fichier de threads filtré
|
||||
output_file_path = os.path.join(output_dir, os.path.basename(threads_file_path))
|
||||
with open(output_file_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(threads_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print(f"Fichier de threads traité: {os.path.basename(threads_file_path)}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Erreur lors du traitement du fichier {threads_file_path}: {e}")
|
||||
|
||||
|
||||
def process_messages_collection(messages_file_path: str, output_dir: str) -> None:
|
||||
"""
|
||||
Traite un fichier de collection de messages en nettoyant le contenu HTML.
|
||||
|
||||
Args:
|
||||
messages_file_path: Chemin du fichier de collection de messages
|
||||
output_dir: Répertoire de sortie pour le fichier traité
|
||||
"""
|
||||
try:
|
||||
with open(messages_file_path, 'r', encoding='utf-8') as f:
|
||||
messages_data = json.load(f)
|
||||
|
||||
# Parcourir tous les messages
|
||||
for i, message in enumerate(messages_data):
|
||||
if 'body' in message:
|
||||
messages_data[i]['body'] = clean_html(message['body'])
|
||||
|
||||
# Écrire le fichier de messages filtré
|
||||
output_file_path = os.path.join(output_dir, os.path.basename(messages_file_path))
|
||||
with open(output_file_path, 'w', encoding='utf-8') as f:
|
||||
json.dump(messages_data, f, indent=4, ensure_ascii=False)
|
||||
|
||||
print(f"Collection de messages traitée: {os.path.basename(messages_file_path)}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Erreur lors du traitement du fichier {messages_file_path}: {e}")
|
||||
|
||||
|
||||
def process_ticket_folder(ticket_folder: str, output_base_dir: str) -> None:
|
||||
"""
|
||||
Traite un dossier de ticket en filtrant les messages HTML.
|
||||
|
||||
Args:
|
||||
ticket_folder: Chemin du dossier du ticket à traiter
|
||||
output_base_dir: Répertoire de base pour la sortie des fichiers filtrés
|
||||
"""
|
||||
ticket_name = os.path.basename(ticket_folder)
|
||||
output_ticket_dir = os.path.join(output_base_dir, ticket_name)
|
||||
|
||||
# Créer le répertoire de sortie s'il n'existe pas
|
||||
if not os.path.exists(output_ticket_dir):
|
||||
os.makedirs(output_ticket_dir, exist_ok=True)
|
||||
|
||||
# Copier les fichiers d'information du ticket
|
||||
for file_name in ['ticket_info.json', 'contact_info.json', 'activities.json', 'followers.json', 'attachments_info.json', 'timesheets.json']:
|
||||
src_file = os.path.join(ticket_folder, file_name)
|
||||
if os.path.exists(src_file):
|
||||
dst_file = os.path.join(output_ticket_dir, file_name)
|
||||
shutil.copy2(src_file, dst_file)
|
||||
print(f"Fichier copié: {file_name}")
|
||||
|
||||
# Traitement des fichiers de messages
|
||||
src_messages_dir = os.path.join(ticket_folder, 'messages')
|
||||
if os.path.exists(src_messages_dir):
|
||||
# Créer le répertoire de messages filtré
|
||||
filtered_messages_dir = os.path.join(output_ticket_dir, 'messages')
|
||||
if not os.path.exists(filtered_messages_dir):
|
||||
os.makedirs(filtered_messages_dir, exist_ok=True)
|
||||
|
||||
# Traiter chaque fichier de message individuel
|
||||
for file_name in os.listdir(src_messages_dir):
|
||||
if file_name.endswith('.json'):
|
||||
message_file_path = os.path.join(src_messages_dir, file_name)
|
||||
process_message_file(message_file_path, filtered_messages_dir)
|
||||
|
||||
# Traitement des fichiers de messages regroupés
|
||||
messages_file = os.path.join(ticket_folder, 'messages.json')
|
||||
message_threads_file = os.path.join(ticket_folder, 'message_threads.json')
|
||||
|
||||
if os.path.exists(messages_file):
|
||||
process_messages_collection(messages_file, output_ticket_dir)
|
||||
|
||||
if os.path.exists(message_threads_file):
|
||||
process_messages_threads(message_threads_file, output_ticket_dir)
|
||||
|
||||
# Copier le répertoire des pièces jointes
|
||||
src_attachments_dir = os.path.join(ticket_folder, 'attachments')
|
||||
if os.path.exists(src_attachments_dir):
|
||||
dst_attachments_dir = os.path.join(output_ticket_dir, 'attachments')
|
||||
if os.path.exists(dst_attachments_dir):
|
||||
shutil.rmtree(dst_attachments_dir)
|
||||
shutil.copytree(src_attachments_dir, dst_attachments_dir)
|
||||
print(f"Répertoire des pièces jointes copié")
|
||||
|
||||
print(f"Traitement du ticket {ticket_name} terminé")
|
||||
|
||||
|
||||
def filter_exported_tickets(source_dir: str = 'exported_tickets', output_dir: str = 'filtered_tickets') -> None:
|
||||
"""
|
||||
Filtre les tickets exportés en nettoyant les messages HTML.
|
||||
|
||||
Args:
|
||||
source_dir: Répertoire source contenant les tickets exportés
|
||||
output_dir: Répertoire de sortie pour les tickets filtrés
|
||||
"""
|
||||
if not os.path.exists(source_dir):
|
||||
print(f"Le répertoire source {source_dir} n'existe pas.")
|
||||
return
|
||||
|
||||
# Créer le répertoire de sortie s'il n'existe pas
|
||||
if not os.path.exists(output_dir):
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
# Parcourir tous les éléments du répertoire source
|
||||
for item in os.listdir(source_dir):
|
||||
item_path = os.path.join(source_dir, item)
|
||||
|
||||
# Vérifier si c'est un dossier qui contient un ticket
|
||||
if os.path.isdir(item_path) and (
|
||||
item.startswith('ticket_') or
|
||||
os.path.exists(os.path.join(item_path, 'ticket_info.json'))
|
||||
):
|
||||
process_ticket_folder(item_path, output_dir)
|
||||
|
||||
# Si c'est un fichier JSON brut de ticket, le copier simplement
|
||||
elif os.path.isfile(item_path) and item.endswith('_raw.json'):
|
||||
shutil.copy2(item_path, os.path.join(output_dir, item))
|
||||
print(f"Fichier copié: {item}")
|
||||
|
||||
print(f"Filtrage des tickets terminé. Les tickets filtrés sont disponibles dans {output_dir}")
|
||||
|
||||
|
||||
def run_filter_wizard() -> None:
|
||||
"""
|
||||
Interface utilisateur en ligne de commande pour filtrer les tickets exportés.
|
||||
"""
|
||||
print("\n==== FILTRAGE DES MESSAGES DES TICKETS ====")
|
||||
|
||||
# Demander le répertoire source
|
||||
default_source = 'exported_tickets'
|
||||
source_dir = input(f"Répertoire source (par défaut: {default_source}): ").strip()
|
||||
if not source_dir:
|
||||
source_dir = default_source
|
||||
|
||||
# Vérifier si le répertoire source existe
|
||||
if not os.path.exists(source_dir):
|
||||
print(f"Le répertoire source {source_dir} n'existe pas.")
|
||||
return
|
||||
|
||||
# Demander le répertoire de sortie
|
||||
default_output = 'filtered_tickets'
|
||||
output_dir = input(f"Répertoire de sortie (par défaut: {default_output}): ").strip()
|
||||
if not output_dir:
|
||||
output_dir = default_output
|
||||
|
||||
# Confirmation
|
||||
print(f"\nLes tickets du répertoire {source_dir} seront filtrés et placés dans {output_dir}.")
|
||||
confirm = input("Continuer ? (o/n): ").strip().lower()
|
||||
|
||||
if confirm == 'o':
|
||||
filter_exported_tickets(source_dir, output_dir)
|
||||
print("\nOpération terminée avec succès!")
|
||||
else:
|
||||
print("Opération annulée.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_filter_wizard()
|
||||
478
exported_tickets/all_models.json
Normal file
478
exported_tickets/all_models.json
Normal file
@ -0,0 +1,478 @@
|
||||
{
|
||||
"credit.control.line": "A credit control line",
|
||||
"account.banking.mandate": "A generic banking mandate",
|
||||
"account.voucher": "Accounting Voucher",
|
||||
"agreement": "Agreement",
|
||||
"account.analytic.account": "Analytic Account",
|
||||
"hr.applicant": "Applicant",
|
||||
"account.bank.statement": "Bank Statement",
|
||||
"res.partner": "Contact",
|
||||
"hr.contract": "Contract",
|
||||
"contract.contract": "Contract",
|
||||
"cetmix.conversation": "Conversation",
|
||||
"credit.control.communication": "Credit control communication process",
|
||||
"mail.channel": "Discussion Channel",
|
||||
"mail.thread": "Email Thread",
|
||||
"hr.employee": "Employee",
|
||||
"calendar.event": "Event",
|
||||
"hr.expense": "Expense",
|
||||
"hr.expense.sheet": "Expense Report",
|
||||
"hr.department": "HR Department",
|
||||
"account.invoice": "Invoice",
|
||||
"hr.job": "Job Position",
|
||||
"crm.lead": "Lead/Opportunity",
|
||||
"mail.blacklist": "Mail Blacklist",
|
||||
"mail.mass_mailing.contact": "Mass Mailing Contact",
|
||||
"account.payment.order": "Payment Order",
|
||||
"account.payment": "Payments",
|
||||
"product.product": "Product",
|
||||
"product.template": "Product Template",
|
||||
"project.project": "Project",
|
||||
"purchase.order": "Purchase Order",
|
||||
"sale.order": "Sale Order",
|
||||
"crm.team": "Sales Channels",
|
||||
"slide.channel": "Slide Channel",
|
||||
"slide.slide": "Slides",
|
||||
"survey.survey": "Survey",
|
||||
"project.task": "Task",
|
||||
"credit.control.policy.level": "A credit control policy level",
|
||||
"mass.operation.mixin": "Abstract Mass Operations",
|
||||
"mass.operation.wizard.mixin": "Abstract Mass Operations Wizard",
|
||||
"contract.abstract.contract": "Abstract Recurring Contract",
|
||||
"contract.abstract.contract.line": "Abstract Recurring Contract Line",
|
||||
"res.groups": "Access Groups",
|
||||
"account.account": "Account",
|
||||
"account.cash.rounding": "Account Cash Rounding",
|
||||
"account.chart.template": "Account Chart Template",
|
||||
"account.check.deposit": "Account Check Deposit",
|
||||
"account.common.report": "Account Common Report",
|
||||
"account.group": "Account Group",
|
||||
"account.invoice.send": "Account Invoice Send",
|
||||
"account.invoice.refund.reason": "Account Invoice refund Reasons",
|
||||
"report.account.report_journal": "Account Journal Report",
|
||||
"account.move.reversal": "Account Move Reversal",
|
||||
"account.print.journal": "Account Print Journal",
|
||||
"account.reconciliation.widget": "Account Reconciliation widget",
|
||||
"account.account.tag": "Account Tag",
|
||||
"account.account.type": "Account Type",
|
||||
"account.unreconcile": "Account Unreconcile",
|
||||
"report.account.report_invoice_with_payments": "Account report with payment lines",
|
||||
"wizard.update.charts.accounts.account": "Account that needs to be updated (new or updated in the template).",
|
||||
"account.voucher.line": "Accounting Voucher Line",
|
||||
"account.fiscal.position.account.template": "Accounts Mapping Template of Fiscal Position",
|
||||
"account.fiscal.position.account": "Accounts Mapping of Fiscal Position",
|
||||
"ir.actions.act_url": "Action URL",
|
||||
"ir.actions.act_window": "Action Window",
|
||||
"ir.actions.act_window_close": "Action Window Close",
|
||||
"ir.actions.act_window.view": "Action Window View",
|
||||
"ir.actions.actions": "Actions",
|
||||
"mail.activity": "Activity",
|
||||
"mail.activity.mixin": "Activity Mixin",
|
||||
"mail.activity.type": "Activity Type",
|
||||
"report.account.report_agedpartnerbalance": "Aged Partner Balance Report",
|
||||
"agreement.type": "Agreement Types",
|
||||
"sql.file.wizard": "Allow the user to save the file with sql request's data",
|
||||
"account.analytic.distribution": "Analytic Account Distribution",
|
||||
"account.analytic.group": "Analytic Categories",
|
||||
"account.analytic.line": "Analytic Line",
|
||||
"account.analytic.tag": "Analytic Tags",
|
||||
"hr.recruitment.degree": "Applicant Degree",
|
||||
"ir.module.category": "Application",
|
||||
"cx.message.partner.assign.wiz": "Assign Partner to Messages",
|
||||
"project.task.assign.sale": "Assign Sale Order line to tasks",
|
||||
"ir.attachment": "Attachment",
|
||||
"product.attribute.value": "Attribute Value",
|
||||
"auditlog.autovacuum": "Auditlog - Delete old logs",
|
||||
"auditlog.http.session": "Auditlog - HTTP User session log",
|
||||
"auditlog.http.request": "Auditlog - HTTP request log",
|
||||
"auditlog.log": "Auditlog - Log",
|
||||
"auditlog.log.line": "Auditlog - Log details (fields updated)",
|
||||
"auditlog.rule": "Auditlog - Rule",
|
||||
"base.automation": "Automated Action",
|
||||
"base.automation.line.test": "Automated Rule Line Test",
|
||||
"base.automation.lead.test": "Automated Rule Test",
|
||||
"ir.autovacuum": "Automatic Vacuum",
|
||||
"res.bank": "Bank",
|
||||
"bank.acc.rec.statement": "Bank Acc Rec Statement",
|
||||
"res.partner.bank": "Bank Accounts",
|
||||
"bank.payment.line": "Bank Payment Lines",
|
||||
"account.bank.statement.cashbox": "Bank Statement Cashbox",
|
||||
"account.bank.statement.closebalance": "Bank Statement Closing Balance",
|
||||
"account.bank.statement.line": "Bank Statement Line",
|
||||
"account.setup.bank.manual.config": "Bank setup manual config",
|
||||
"base": "Base",
|
||||
"base_import.import": "Base Import",
|
||||
"base_import.mapping": "Base Import Mapping",
|
||||
"board.board": "Board",
|
||||
"crm.activity.report": "CRM Activity Analysis",
|
||||
"crm.stage": "CRM Stages",
|
||||
"calendar.attendee": "Calendar Attendee Information",
|
||||
"calendar.contacts": "Calendar Contacts",
|
||||
"mail.shortcode": "Canned Response / Shortcode",
|
||||
"cash.box.in": "Cash Box In",
|
||||
"cash.box.out": "Cash Box Out",
|
||||
"account.cashbox.line": "CashBox Line",
|
||||
"hr.applicant.category": "Category of applicant",
|
||||
"change.password.wizard": "Change Password Wizard",
|
||||
"mail.moderation": "Channel black/white list",
|
||||
"chorus.flow": "Chorus Flow",
|
||||
"chorus.partner.service": "Chorus Services attached to a partner",
|
||||
"ir.actions.client": "Client Action",
|
||||
"account.common.journal.report": "Common Journal Report",
|
||||
"base.facturx": "Common methods to generate and parse Factur-X invoices",
|
||||
"bus.bus": "Communication Bus",
|
||||
"res.company": "Companies",
|
||||
"ir.property": "Company Property",
|
||||
"res.config": "Config",
|
||||
"res.config.installer": "Config Installer",
|
||||
"res.config.settings": "Config Settings",
|
||||
"ir.actions.todo": "Configuration Wizards",
|
||||
"account.invoice.confirm": "Confirm the selected invoices",
|
||||
"account.abstract.payment": "Contains the logic shared between models which allows to register payments",
|
||||
"contract.line": "Contract Line",
|
||||
"contract.line.wizard": "Contract Line Wizard",
|
||||
"contract.manually.create.invoice": "Contract Manually Create Invoice Wizard",
|
||||
"contract.modification": "Contract Modification",
|
||||
"contract.tag": "Contract Tag",
|
||||
"contract.template": "Contract Template",
|
||||
"contract.template.line": "Contract Template Line",
|
||||
"contract.terminate.reason": "Contract Termination Reason",
|
||||
"hr.contract.type": "Contract Type",
|
||||
"crm.lead2opportunity.partner.mass": "Convert Lead to Opportunity (in mass)",
|
||||
"crm.lead2opportunity.partner": "Convert Lead to Opportunity (not in mass)",
|
||||
"res.country": "Country",
|
||||
"res.country.group": "Country Group",
|
||||
"res.country.state": "Country state",
|
||||
"project.create.invoice": "Create Invoice from project",
|
||||
"wizard.ir.model.menu.create": "Create Menu Wizard",
|
||||
"project.create.sale.order.line": "Create SO Line from project",
|
||||
"project.create.sale.order": "Create SO from project",
|
||||
"account.invoice.payment.line.multi": "Create payment lines from invoice tree view",
|
||||
"credit.control.analysis": "Credit Control Analysis",
|
||||
"credit.control.policy.changer": "Credit Control Policy Changer",
|
||||
"account.invoice.refund": "Credit Note",
|
||||
"credit.control.run": "Credit control line generator",
|
||||
"res.currency": "Currency",
|
||||
"res.currency.rate": "Currency Rate",
|
||||
"ir.ui.view.custom": "Custom View",
|
||||
"date.range": "Date Range",
|
||||
"date.range.generator": "Date Range Generator",
|
||||
"date.range.type": "Date Range Type",
|
||||
"decimal.precision": "Decimal Precision",
|
||||
"decimal.precision.test": "Decimal Precision Test",
|
||||
"ir.default": "Default Values",
|
||||
"credit.control.policy": "Define a reminder policy",
|
||||
"ir.demo": "Demo",
|
||||
"ir.demo_failure.wizard": "Demo Failure wizard",
|
||||
"ir.demo_failure": "Demo failure",
|
||||
"res.country.department": "Department",
|
||||
"digest.digest": "Digest",
|
||||
"digest.tip": "Digest Tips",
|
||||
"mail.resend.cancel": "Dismiss notification for resend by model",
|
||||
"server.config": "Display server configuration",
|
||||
"mail.followers": "Document Followers",
|
||||
"prt.mail.message.draft": "Draft Message",
|
||||
"cx.message.edit.wiz": "Edit Message or Note",
|
||||
"mail.alias": "Email Aliases",
|
||||
"mail.alias.mixin": "Email Aliases Mixin",
|
||||
"mail.mail.statistics": "Email Statistics",
|
||||
"email_template.preview": "Email Template Preview",
|
||||
"mail.template": "Email Templates",
|
||||
"mail.compose.message": "Email composition wizard",
|
||||
"survey.mail.compose.message": "Email composition wizard for Survey",
|
||||
"mail.resend.message": "Email resend wizard",
|
||||
"slide.embed": "Embedded Slides View Counter",
|
||||
"hr.employee.category": "Employee Category",
|
||||
"calendar.alarm": "Event Alarm",
|
||||
"calendar.alarm_manager": "Event Alarm Manager",
|
||||
"calendar.event.type": "Event Meeting Type",
|
||||
"hr.expense.refuse.wizard": "Expense Refuse Reason Wizard",
|
||||
"hr.expense.sheet.register.payment.wizard": "Expense Register Payment Wizard",
|
||||
"account.csv.export": "Export Accounting",
|
||||
"ir.exports": "Exports",
|
||||
"ir.exports.line": "Exports Line",
|
||||
"account.fr.fec": "Ficher Echange Informatise",
|
||||
"ir.model.fields": "Fields",
|
||||
"ir.fields.converter": "Fields Converter",
|
||||
"ir.filters": "Filters",
|
||||
"account.fiscal.position": "Fiscal Position",
|
||||
"account.fiscal.year": "Fiscal Year",
|
||||
"wizard.update.charts.accounts.fiscal.position": "Fiscal position that needs to be updated (new or updated in the template).",
|
||||
"format.address.mixin": "Fomat Address",
|
||||
"account.full.reconcile": "Full Reconcile",
|
||||
"crm.lead.lost": "Get Lost Reason",
|
||||
"google.calendar": "Google Calendar",
|
||||
"google.gmail.mixin": "Google Gmail Mixin",
|
||||
"google.service": "Google Service",
|
||||
"portal.wizard": "Grant Portal Access",
|
||||
"ir.http": "HTTP Routing",
|
||||
"hr.timesheet.switch": "Helper to quickly switch between timesheet lines",
|
||||
"account.bank.statement.import": "Import Bank Statement",
|
||||
"account.invoice.import.wizard": "Import Your Vendor Bills from Files.",
|
||||
"fetchmail.server": "Incoming Mail Server",
|
||||
"account.incoterms": "Incoterms",
|
||||
"res.partner.industry": "Industry",
|
||||
"base.language.install": "Install Language",
|
||||
"mail.wizard.invite": "Invite wizard",
|
||||
"account.invoice.line": "Invoice Line",
|
||||
"account.invoice.tax": "Invoice Tax",
|
||||
"account.invoice.report": "Invoices Statistics",
|
||||
"account.journal": "Journal",
|
||||
"account.bank.statement.import.journal.creation": "Journal Creation on Bank Statement Import",
|
||||
"account.move": "Journal Entries",
|
||||
"account.move.line": "Journal Item",
|
||||
"base.kanban.abstract": "Kanban Abstract",
|
||||
"base.kanban.stage": "Kanban Stage",
|
||||
"base.language.export": "Language Export",
|
||||
"base.language.import": "Language Import",
|
||||
"res.lang": "Languages",
|
||||
"crm.lead.tag": "Lead Tag",
|
||||
"link.tracker": "Link Tracker",
|
||||
"link.tracker.click": "Link Tracker Click",
|
||||
"link.tracker.code": "Link Tracker Code",
|
||||
"mail.channel.partner": "Listeners of a Channel",
|
||||
"ir.logging": "Logging",
|
||||
"mail.activity.team": "Mail Activity Team",
|
||||
"mail.blacklist.mixin": "Mail Blacklist mixin",
|
||||
"mail.bot": "Mail Bot",
|
||||
"ir.mail_server": "Mail Server",
|
||||
"mail.tracking.value": "Mail Tracking Value",
|
||||
"mail.bounced.mixin": "Mail bounced mixin",
|
||||
"mail.tracking.email": "MailTracking email",
|
||||
"mail.tracking.event": "MailTracking event",
|
||||
"mail.mass_mailing.list": "Mailing List",
|
||||
"mass.editing": "Mass Editing",
|
||||
"mass.editing.line": "Mass Editing Line",
|
||||
"mail.mass_mailing": "Mass Mailing",
|
||||
"mail.mass_mailing.campaign": "Mass Mailing Campaign",
|
||||
"mail.mass_mailing.stage": "Mass Mailing Campaign Stage",
|
||||
"mass.mailing.schedule.date": "Mass Mailing Scheduling",
|
||||
"mail.statistics.report": "Mass Mailing Statistics",
|
||||
"mail.mass_mailing.list_contact_rel": "Mass Mailing Subscription Information",
|
||||
"mail.mass_mailing.tag": "Mass Mailing Tag",
|
||||
"credit.control.emailer": "Mass credit line emailer",
|
||||
"credit.control.marker": "Mass marker",
|
||||
"credit.control.printer": "Mass printer",
|
||||
"ir.ui.menu": "Menu",
|
||||
"mass.mailing.list.merge": "Merge Mass Mailing List",
|
||||
"crm.merge.opportunity": "Merge Opportunities",
|
||||
"base.partner.merge.line": "Merge Partner Line",
|
||||
"base.partner.merge.automatic.wizard": "Merge Partner Wizard",
|
||||
"base.task.merge.automatic.wizard": "Merge Tasks",
|
||||
"mail.message": "Message",
|
||||
"mail.notification": "Message Notifications",
|
||||
"mail.message.subtype": "Message subtypes",
|
||||
"date.range.search.mixin": "Mixin class to add a Many2one style period search field",
|
||||
"hr.timesheet.time_control.mixin": "Mixin for records related with timesheet lines",
|
||||
"server.env.mixin": "Mixin to add server environment in existing models",
|
||||
"ir.model.access": "Model Access",
|
||||
"ir.model.constraint": "Model Constraint",
|
||||
"ir.model.data": "Model Data",
|
||||
"ir.model": "Models",
|
||||
"ir.module.module": "Module",
|
||||
"report.base.report_irmodulereference": "Module Reference Report (base)",
|
||||
"base.module.uninstall": "Module Uninstall",
|
||||
"ir.module.module.dependency": "Module dependency",
|
||||
"ir.module.module.exclusion": "Module exclusion",
|
||||
"prt.message.move.wiz": "Move Messages To Other Thread",
|
||||
"website.multi.mixin": "Multi Website Mixin",
|
||||
"website.published.multi.mixin": "Multi Website Published Mixin",
|
||||
"account.financial.year.op": "Opening Balance of Financial Year",
|
||||
"crm.lost.reason": "Opp. Lost Reason",
|
||||
"mail.mail": "Outgoing Mails",
|
||||
"website.page": "Page",
|
||||
"report.paperformat": "Paper Format Config",
|
||||
"account.partial.reconcile": "Partial Reconcile",
|
||||
"res.partner.id_category": "Partner ID Category",
|
||||
"res.partner.id_number": "Partner ID Number",
|
||||
"res.partner.payment.action.type": "Partner Payment Action Types",
|
||||
"res.partner.category": "Partner Tags",
|
||||
"res.partner.title": "Partner Title",
|
||||
"crm.partner.binding": "Partner linking/binding in CRM wizard",
|
||||
"mail.resend.partner": "Partner with additionnal information for mail resend",
|
||||
"payment.acquirer": "Payment Acquirer",
|
||||
"payment.icon": "Payment Icon",
|
||||
"account.payment.line": "Payment Lines",
|
||||
"account.payment.method": "Payment Methods",
|
||||
"account.payment.mode": "Payment Modes",
|
||||
"account.payment.term": "Payment Terms",
|
||||
"account.payment.term.line": "Payment Terms Line",
|
||||
"payment.token": "Payment Token",
|
||||
"payment.transaction": "Payment Transaction",
|
||||
"payment.acquirer.onboarding.wizard": "Payment acquire onboarding wizard",
|
||||
"portal.mixin": "Portal Mixin",
|
||||
"portal.share": "Portal Sharing",
|
||||
"portal.wizard.user": "Portal User Config",
|
||||
"account.reconcile.model": "Preset to create journal entries during a invoices and payments matching",
|
||||
"product.pricelist": "Pricelist",
|
||||
"product.pricelist.item": "Pricelist Item",
|
||||
"product.attribute": "Product Attribute",
|
||||
"product.attribute.custom.value": "Product Attribute Custom Value",
|
||||
"product.template.attribute.value": "Product Attribute Value",
|
||||
"product.brand": "Product Brand",
|
||||
"product.category": "Product Category",
|
||||
"product.image": "Product Image",
|
||||
"product.margin": "Product Margin",
|
||||
"product.packaging": "Product Packaging",
|
||||
"product.price.history": "Product Price List History",
|
||||
"report.product.report_pricelist": "Product Price List Report",
|
||||
"product.price_list": "Product Price per Unit Based on Pricelist Version",
|
||||
"product.state": "Product State",
|
||||
"product.style": "Product Style",
|
||||
"product.template.attribute.exclusion": "Product Template Attribute Exclusion",
|
||||
"product.template.attribute.line": "Product Template Attribute Line",
|
||||
"uom.uom": "Product Unit of Measure",
|
||||
"uom.category": "Product UoM Categories",
|
||||
"report.sale.report_saleproforma": "Proforma Report",
|
||||
"project.milestone": "Project Milestone",
|
||||
"project.profitability.report": "Project Profitability Report",
|
||||
"project.sale.line.employee.map": "Project Sales line, employee mapping",
|
||||
"project.tags": "Project Tags",
|
||||
"project.task.copy.map": "Project Task Copy Map",
|
||||
"publisher_warranty.contract": "Publisher Warranty Contract",
|
||||
"purchase.order.line": "Purchase Order Line",
|
||||
"purchase.report": "Purchase Report",
|
||||
"purchase.bill.union": "Purchases & Bills Union",
|
||||
"sale.order.template": "Quotation Template",
|
||||
"sale.order.template.line": "Quotation Template Line",
|
||||
"sale.order.template.option": "Quotation Template Option",
|
||||
"ir.qweb": "Qweb",
|
||||
"ir.qweb.field": "Qweb Field",
|
||||
"ir.qweb.field.barcode": "Qweb Field Barcode",
|
||||
"ir.qweb.field.contact": "Qweb Field Contact",
|
||||
"ir.qweb.field.date": "Qweb Field Date",
|
||||
"ir.qweb.field.datetime": "Qweb Field Datetime",
|
||||
"ir.qweb.field.duration": "Qweb Field Duration",
|
||||
"ir.qweb.field.float": "Qweb Field Float",
|
||||
"ir.qweb.field.float_time": "Qweb Field Float Time",
|
||||
"ir.qweb.field.html": "Qweb Field HTML",
|
||||
"ir.qweb.field.image": "Qweb Field Image",
|
||||
"ir.qweb.field.integer": "Qweb Field Integer",
|
||||
"ir.qweb.field.many2one": "Qweb Field Many to One",
|
||||
"ir.qweb.field.monetary": "Qweb Field Monerary",
|
||||
"ir.qweb.field.relative": "Qweb Field Relative",
|
||||
"ir.qweb.field.selection": "Qweb Field Selection",
|
||||
"ir.qweb.field.text": "Qweb Field Text",
|
||||
"ir.qweb.field.qweb": "Qweb Field qweb",
|
||||
"ir.qweb.field.many2many": "Qweb field many2many",
|
||||
"rating.rating": "Rating",
|
||||
"rating.mixin": "Rating Mixin",
|
||||
"account.reconcile.model.template": "Reconcile Model Template",
|
||||
"ir.rule": "Record Rule",
|
||||
"hr.recruitment.stage": "Recruitment Stages",
|
||||
"account.register.payments": "Register Payments",
|
||||
"ir.model.relation": "Relation Model",
|
||||
"ir.actions.report": "Report Action",
|
||||
"report.account_check_report.check_report": "Report Check Print",
|
||||
"report.layout": "Report Layout",
|
||||
"resource.calendar.leaves": "Resource Leaves Detail",
|
||||
"resource.mixin": "Resource Mixin",
|
||||
"resource.calendar": "Resource Working Time",
|
||||
"resource.resource": "Resources",
|
||||
"website.seo.metadata": "SEO metadata",
|
||||
"sql.request.mixin": "SQL Request Mixin",
|
||||
"sql.export": "SQL export",
|
||||
"sale.invoice.group.method": "Sale Invoice Group Method",
|
||||
"sale.order.option": "Sale Options",
|
||||
"sale.payment.acquirer.onboarding.wizard": "Sale Payment acquire onboarding wizard",
|
||||
"sale.product.configurator": "Sale Product Configurator",
|
||||
"sale.advance.payment.inv": "Sales Advance Payment Invoice",
|
||||
"sale.report": "Sales Analysis Report",
|
||||
"sale.order.line": "Sales Order Line",
|
||||
"report.all.channels.sales": "Sales by Channel (All in One)",
|
||||
"mail.mass_mailing.test": "Sample Mail Wizard",
|
||||
"ir.cron": "Scheduled Actions",
|
||||
"account.invoice.chorus.send": "Send several invoices to Chorus",
|
||||
"ir.sequence": "Sequence",
|
||||
"ir.sequence.date_range": "Sequence Date Range",
|
||||
"ir.actions.server": "Server Action",
|
||||
"ir.server.object.lines": "Server Action value mapping",
|
||||
"server.env.techname.mixin": "Server environment technical name",
|
||||
"slide.tag": "Slide Tag",
|
||||
"slide.category": "Slides Category",
|
||||
"hr.recruitment.source": "Source of Applicants",
|
||||
"sparse_fields.test": "Sparse fields Test",
|
||||
"bank.acc.rec.statement.line": "Statement Line",
|
||||
"product.supplierinfo": "Supplier Pricelist",
|
||||
"survey.label": "Survey Label",
|
||||
"survey.page": "Survey Page",
|
||||
"survey.question": "Survey Question",
|
||||
"survey.stage": "Survey Stage",
|
||||
"survey.user_input": "Survey User Input",
|
||||
"survey.user_input_line": "Survey User Input Line",
|
||||
"ir.config_parameter": "System Parameter",
|
||||
"project.task.type": "Task Stage",
|
||||
"report.project.task.user": "Tasks Analysis",
|
||||
"account.tax": "Tax",
|
||||
"tax.adjustments.wizard": "Tax Adjustments Wizard",
|
||||
"account.tax.group": "Tax Group",
|
||||
"account.fiscal.position.tax.template": "Tax Mapping Template of Fiscal Position",
|
||||
"account.fiscal.position.tax": "Tax Mapping of Fiscal Position",
|
||||
"wizard.update.charts.accounts.tax": "Tax that needs to be updated (new or updated in the template).",
|
||||
"report.account_payment_order.print_account_payment_order_main": "Technical model for printing payment order",
|
||||
"account.fiscal.position.template": "Template for Fiscal Position",
|
||||
"account.account.template": "Templates for Accounts",
|
||||
"account.tax.template": "Templates for Taxes",
|
||||
"contract.contract.terminate": "Terminate Contract Wizard",
|
||||
"resource.test": "Test Resource Model",
|
||||
"base_import.tests.models.preview": "Tests : Base Import Model Preview",
|
||||
"base_import.tests.models.char": "Tests : Base Import Model, Character",
|
||||
"base_import.tests.models.char.noreadonly": "Tests : Base Import Model, Character No readonly",
|
||||
"base_import.tests.models.char.readonly": "Tests : Base Import Model, Character readonly",
|
||||
"base_import.tests.models.char.required": "Tests : Base Import Model, Character required",
|
||||
"base_import.tests.models.char.states": "Tests : Base Import Model, Character states",
|
||||
"base_import.tests.models.char.stillreadonly": "Tests : Base Import Model, Character still readonly",
|
||||
"base_import.tests.models.m2o": "Tests : Base Import Model, Many to One",
|
||||
"base_import.tests.models.m2o.related": "Tests : Base Import Model, Many to One related",
|
||||
"base_import.tests.models.m2o.required": "Tests : Base Import Model, Many to One required",
|
||||
"base_import.tests.models.m2o.required.related": "Tests : Base Import Model, Many to One required related",
|
||||
"base_import.tests.models.o2m": "Tests : Base Import Model, One to Many",
|
||||
"base_import.tests.models.o2m.child": "Tests : Base Import Model, One to Many child",
|
||||
"base_import.tests.models.complex": "Tests: Base Import Model Complex",
|
||||
"base_import.tests.models.float": "Tests: Base Import Model Float",
|
||||
"theme.ir.attachment": "Theme Attachments",
|
||||
"theme.ir.ui.view": "Theme UI View",
|
||||
"theme.utils": "Theme Utils",
|
||||
"web_tour.tour": "Tours",
|
||||
"ir.translation": "Translation",
|
||||
"transmit.method": "Transmit Method of a document",
|
||||
"unece.code.list": "UNECE nomenclatures",
|
||||
"utm.campaign": "UTM Campaign",
|
||||
"utm.medium": "UTM Medium",
|
||||
"utm.mixin": "UTM Mixin",
|
||||
"utm.source": "UTM Source",
|
||||
"_unknown": "Unknown",
|
||||
"base.module.update": "Update Module",
|
||||
"base.update.translations": "Update Translations",
|
||||
"base.module.upgrade": "Upgrade Module",
|
||||
"bus.presence": "User Presence",
|
||||
"res.users.role": "User role",
|
||||
"change.password.user": "User, Change Password Wizard",
|
||||
"res.users": "Users",
|
||||
"res.users.log": "Users Log",
|
||||
"res.users.role.line": "Users associated to a role",
|
||||
"validate.account.move": "Validate Account Move",
|
||||
"ir.ui.view": "View",
|
||||
"web_editor.converter.test.sub": "Web Editor Converter Subtest",
|
||||
"web_editor.converter.test": "Web Editor Converter Test",
|
||||
"website": "Website",
|
||||
"website.form.recaptcha": "Website Form Recaptcha Validations",
|
||||
"website.menu": "Website Menu",
|
||||
"product.public.category": "Website Product Category",
|
||||
"website.published.mixin": "Website Published Mixin",
|
||||
"website.redirect": "Website Redirect",
|
||||
"theme.website.menu": "Website Theme Menu",
|
||||
"theme.website.page": "Website Theme Page",
|
||||
"wizard.matching": "Wizard Matching",
|
||||
"wizard.open.tax.balances": "Wizard Open Tax Balances",
|
||||
"wizard.update.charts.accounts": "Wizard Update Charts Accounts",
|
||||
"mass.editing.wizard": "Wizard for mass edition",
|
||||
"account.payment.line.create": "Wizard to create payment lines",
|
||||
"resource.calendar.attendance": "Work Detail",
|
||||
"base.task.merge.line": "base.task.merge.line",
|
||||
"x_convers": "convers",
|
||||
"website.sale.payment.acquirer.onboarding.wizard": "website.sale.payment.acquirer.onboarding.wizard",
|
||||
"wizard.account.matching": "wizard.account.matching",
|
||||
"wizard.fp.matching": "wizard.fp.matching",
|
||||
"wizard.tax.matching": "wizard.tax.matching"
|
||||
}
|
||||
1039
exported_tickets/fields_project.task.json
Normal file
1039
exported_tickets/fields_project.task.json
Normal file
File diff suppressed because it is too large
Load Diff
1941
exported_tickets/fields_project.task_complete.json
Normal file
1941
exported_tickets/fields_project.task_complete.json
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
12
exported_tickets/ticket_10990_bug/attachments_info.json
Normal file
12
exported_tickets/ticket_10990_bug/attachments_info.json
Normal file
@ -0,0 +1,12 @@
|
||||
[
|
||||
{
|
||||
"id": 144161,
|
||||
"name": "image001.png",
|
||||
"mimetype": "image/png",
|
||||
"create_date": "2025-03-06 08:11:49",
|
||||
"description": "image001.png",
|
||||
"res_name": "[T11011] bug",
|
||||
"type": "binary",
|
||||
"file_path": "attachments/144161_image001.png"
|
||||
}
|
||||
]
|
||||
15
exported_tickets/ticket_10990_bug/contact_info.json
Normal file
15
exported_tickets/ticket_10990_bug/contact_info.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"id": 5144,
|
||||
"name": "Dominique CARVAL",
|
||||
"email": "dominique.carval@morbihan.fr",
|
||||
"phone": "02 97 54 71 14",
|
||||
"mobile": "06 98 32 88 30",
|
||||
"street": "DSN-HOTEL DU DEPARTEMENT",
|
||||
"city": "VANNES",
|
||||
"zip": "56000",
|
||||
"country_id": [
|
||||
75,
|
||||
"France"
|
||||
],
|
||||
"comment": ""
|
||||
}
|
||||
110
exported_tickets/ticket_10990_bug/followers.json
Normal file
110
exported_tickets/ticket_10990_bug/followers.json
Normal file
@ -0,0 +1,110 @@
|
||||
[
|
||||
{
|
||||
"id": 89070,
|
||||
"partner_id": [
|
||||
28961,
|
||||
"Fabien LAFAY"
|
||||
],
|
||||
"subtype_ids": [
|
||||
1,
|
||||
20
|
||||
],
|
||||
"partner_details": {
|
||||
"id": 28961,
|
||||
"name": "Fabien LAFAY",
|
||||
"email": "fabien@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"name": "Task Rating",
|
||||
"description": "Ratings",
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 89073,
|
||||
"partner_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"subtype_ids": [
|
||||
1,
|
||||
20
|
||||
],
|
||||
"partner_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"name": "Task Rating",
|
||||
"description": "Ratings",
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 89123,
|
||||
"partner_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"subtype_ids": [
|
||||
1,
|
||||
20
|
||||
],
|
||||
"partner_details": {
|
||||
"id": 5144,
|
||||
"name": "Dominique CARVAL",
|
||||
"email": "dominique.carval@morbihan.fr",
|
||||
"phone": "02 97 54 71 14",
|
||||
"function": "Technicien de laboratoire",
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"name": "Task Rating",
|
||||
"description": "Ratings",
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
156
exported_tickets/ticket_10990_bug/message_threads.json
Normal file
156
exported_tickets/ticket_10990_bug/message_threads.json
Normal file
File diff suppressed because one or more lines are too long
160
exported_tickets/ticket_10990_bug/messages.json
Normal file
160
exported_tickets/ticket_10990_bug/messages.json
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226816,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:11:51",
|
||||
"author_id": [
|
||||
2,
|
||||
"OdooBot"
|
||||
],
|
||||
"email_from": "\"OdooBot\" <odoobot@example.com>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
16,
|
||||
"Task Created"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 2,
|
||||
"name": "OdooBot",
|
||||
"email": "odoobot@example.com",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 16,
|
||||
"name": "Task Created",
|
||||
"description": "Task Created",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
{
|
||||
"id": 226817,
|
||||
"body": "<p>\r\n\r\n</p>\r\n<div>\r\n<p><span style='font-size:10.0pt; font-family:\"Tahoma\",sans-serif'>Bonjour,<p></p></span></p>\r\n<p><span style='font-size:10.0pt; font-family:\"Tahoma\",sans-serif'><p> </p></span></p>\r\n<p><span style='font-size:10.0pt; font-family:\"Tahoma\",sans-serif'>Gros ralentissement ce matin !!!! ca tourne en rond….<p></p></span></p>\r\n<p><span style='font-size:10.0pt; font-family:\"Tahoma\",sans-serif'><p> </p></span></p>\r\n<p><span style='font-size:10.0pt; font-family:\"Tahoma\",sans-serif'>Bonne réception<p></p></span></p>\r\n<p><b><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:#1F497D'><p> </p></span></b></p>\r\n<p><span style=\"color:#1F497D\"><img width=\"189\" height=\"32\" style=\"width:1.9687in; height:.3333in\" id=\"Image_x0020_4\" src=\"/web/image/144161?access_token=70b86177-306f-4cc7-ba37-e652fa93f8c6\" alt=\"cid:image004.png@01D8D425.0F95E5B0\"></span><b><span style='font-size:12.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'><p></p></span></b></p>\r\n<p><b><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'><p> </p></span></b></p>\r\n<p><b><span style='font-size:12.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'>Dominique CARVAL</span></b><span style='font-size:12.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'><p></p></span></p>\r\n<p><b><span style='font-size:1.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'><p> </p></span></b></p>\r\n<p><b><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'>Technicien de laboratoire<p></p></span></b></p>\r\n<p style=\"text-align:justify; line-height:105%\"><span style='font-size:8.0pt; line-height:105%; font-family:\"Tahoma\",sans-serif; color:black'>Direction des Infrastructures et des mobilités (DIM)</span></p><p></p>\r\n<p style=\"text-align:justify; line-height:105%\"><span style='font-size:8.0pt; line-height:105%; font-family:\"Tahoma\",sans-serif'>Service d’Appui aux Politiques d’Aménagement / Pôle Laboratoire Routier (SAPA/PLR)</span></p><p></p>\r\n<p><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:black'>115, rue du commerce – 56000 VANNES<p></p></span></p>\r\n<p><b><span style='font-size:1.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'><p> </p></span></b></p>\r\n<p><b><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'>tél : 02 97 54 71 14 - mobile : 06 98 32 88 30 –\r\n</span></b><b><u><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:#0563C1'><a href=\"mailto:dominique.carval@morbihan.fr\"><span style=\"color:blue\">dominique.carval@morbihan.fr</span></a></span></u></b><b><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:#0F58CE'>\r\n</span></b><b><span style='font-size:8.0pt; font-family:\"Tahoma\",sans-serif; color:#0F586A'> <p></p></span></b></p>\r\n<p><span style='font-size:10.0pt; font-family:\"Tahoma\",sans-serif'><p> </p></span></p>\r\n<p><span><p> </p></span></p>\r\n<p></p><p> </p>\r\n</div>\r\n<hr>\r\n<div style=\"font-size:9pt; font-family:'tahoma',sans-serif\">Droit à la déconnexion : Si vous recevez ce message en dehors de vos heures de travail ou pendant vos congés, vous n’êtes pas tenu de répondre immédiatement, sauf en cas d’urgence exceptionnelle.\r\n<hr>\r\nCe message électronique et tous les fichiers attachés qu'il contient peuvent être confidentiels, contenir des données personnelles ou sensibles et être soumis au secret professionnel. Il est destiné exclusivement à l'usage du ou des destinataires. Si vous recevez\r\n ce message par erreur et/ou si vous n'êtes pas le destinataire désigné de ce message, le département du Morbihan vous remercie d'avertir immédiatement l'expéditeur et de le détruire ainsi que toutes les pièces jointes s'y rattachant. La publication, l'usage,\r\n la distribution, l'impression ou la copie non autorisée de ce message et des attachements qu'il contient sont strictement interdits. Tout message électronique est susceptible d'altération.</div>\r\n\r\n",
|
||||
"date": "2025-03-06 08:07:49",
|
||||
"author_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"subject": "bug",
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "email",
|
||||
"subtype_id": [
|
||||
1,
|
||||
"Discussions"
|
||||
],
|
||||
"attachment_ids": [
|
||||
144161
|
||||
],
|
||||
"author_details": {
|
||||
"id": 5144,
|
||||
"name": "Dominique CARVAL",
|
||||
"email": "dominique.carval@morbihan.fr",
|
||||
"phone": "02 97 54 71 14",
|
||||
"function": "Technicien de laboratoire",
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226818,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:11:51",
|
||||
"author_id": [
|
||||
2,
|
||||
"OdooBot"
|
||||
],
|
||||
"email_from": "\"OdooBot\" <odoobot@example.com>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 2,
|
||||
"name": "OdooBot",
|
||||
"email": "odoobot@example.com",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Note",
|
||||
"description": false,
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226828,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:37",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Note",
|
||||
"description": false,
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
{
|
||||
"id": 226830,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:44",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
16,
|
||||
"Task Created"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 16,
|
||||
"name": "Task Created",
|
||||
"description": "Task Created",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226933,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Note",
|
||||
"description": false,
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
{
|
||||
"id": 226934,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
19,
|
||||
"Stage Changed"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 19,
|
||||
"name": "Stage Changed",
|
||||
"description": "Stage changed",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
156
exported_tickets/ticket_10990_bug/ticket_info.json
Normal file
156
exported_tickets/ticket_10990_bug/ticket_info.json
Normal file
@ -0,0 +1,156 @@
|
||||
{
|
||||
"id": 10990,
|
||||
"active": true,
|
||||
"name": "bug",
|
||||
"description": "<p><br></p>",
|
||||
"sequence": 10,
|
||||
"stage_id": [
|
||||
32,
|
||||
"En attente d'infos / retours"
|
||||
],
|
||||
"kanban_state": "normal",
|
||||
"create_date": "2025-03-06 08:11:49",
|
||||
"write_date": "2025-03-06 14:53:15",
|
||||
"date_start": "2025-03-06 08:11:50",
|
||||
"date_end": false,
|
||||
"date_assign": "2025-03-06 08:33:37",
|
||||
"date_deadline": "2025-03-21",
|
||||
"date_last_stage_update": "2025-03-06 14:53:15",
|
||||
"project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"notes": false,
|
||||
"planned_hours": 0.0,
|
||||
"user_id": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"partner_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
],
|
||||
"color": 0,
|
||||
"displayed_image_id": false,
|
||||
"parent_id": false,
|
||||
"child_ids": [],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"email_cc": "",
|
||||
"working_hours_open": 0.0,
|
||||
"working_hours_close": 0.0,
|
||||
"working_days_open": 0.0,
|
||||
"working_days_close": 0.0,
|
||||
"website_message_ids": [
|
||||
226932,
|
||||
226817
|
||||
],
|
||||
"remaining_hours": 0.0,
|
||||
"effective_hours": 0.0,
|
||||
"total_hours_spent": 0.0,
|
||||
"progress": 0.0,
|
||||
"subtask_effective_hours": 0.0,
|
||||
"timesheet_ids": [],
|
||||
"priority": "0",
|
||||
"code": "T11011",
|
||||
"milestone_id": false,
|
||||
"sale_line_id": false,
|
||||
"sale_order_id": false,
|
||||
"billable_type": "no",
|
||||
"activity_ids": [],
|
||||
"message_follower_ids": [
|
||||
89070,
|
||||
89073,
|
||||
89123
|
||||
],
|
||||
"message_ids": [
|
||||
226934,
|
||||
226933,
|
||||
226932,
|
||||
226830,
|
||||
226828,
|
||||
226818,
|
||||
226817,
|
||||
226816
|
||||
],
|
||||
"message_main_attachment_id": [
|
||||
144161,
|
||||
"image001.png"
|
||||
],
|
||||
"failed_message_ids": [],
|
||||
"rating_ids": [],
|
||||
"rating_last_value": 0.0,
|
||||
"access_token": "06875ce1-a1a5-48df-ab1b-6cdb5a99e59c",
|
||||
"create_uid": [
|
||||
1,
|
||||
"OdooBot"
|
||||
],
|
||||
"write_uid": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"x_CBAO_windows_maj_ID": false,
|
||||
"x_CBAO_version_signalement": false,
|
||||
"x_CBAO_version_correction": false,
|
||||
"x_CBAO_DateCorrection": false,
|
||||
"x_CBAO_Scoring_Facilite": 0,
|
||||
"x_CBAO_Scoring_Importance": 0,
|
||||
"x_CBAO_Scoring_Urgence": 0,
|
||||
"x_CBAO_Scoring_Incidence": 0,
|
||||
"x_CBAO_Scoring_Resultat": 0,
|
||||
"x_CBAO_InformationsSup": false,
|
||||
"kanban_state_label": "En cours",
|
||||
"subtask_planned_hours": 0.0,
|
||||
"manager_id": [
|
||||
22,
|
||||
"Fabien LAFAY"
|
||||
],
|
||||
"user_email": "romuald@mail.cbao.fr",
|
||||
"attachment_ids": [],
|
||||
"legend_blocked": "Bloqué",
|
||||
"legend_done": "Prêt pour la prochaine étape",
|
||||
"legend_normal": "En cours",
|
||||
"subtask_project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"subtask_count": 0,
|
||||
"analytic_account_active": true,
|
||||
"allow_timesheets": true,
|
||||
"use_milestones": false,
|
||||
"show_time_control": "start",
|
||||
"is_project_map_empty": true,
|
||||
"activity_state": false,
|
||||
"activity_user_id": false,
|
||||
"activity_type_id": false,
|
||||
"activity_date_deadline": false,
|
||||
"activity_summary": false,
|
||||
"message_is_follower": false,
|
||||
"message_unread": false,
|
||||
"message_unread_counter": 0,
|
||||
"message_needaction": false,
|
||||
"message_needaction_counter": 0,
|
||||
"message_has_error": false,
|
||||
"message_has_error_counter": 0,
|
||||
"message_attachment_count": 1,
|
||||
"rating_last_feedback": false,
|
||||
"rating_last_image": false,
|
||||
"rating_count": 0,
|
||||
"access_url": "/my/task/10990",
|
||||
"access_warning": "",
|
||||
"display_name": "[T11011] bug",
|
||||
"__last_update": "2025-03-06 14:53:15",
|
||||
"stage_id_value": "En attente d'infos / retours",
|
||||
"project_id_value": "Demandes",
|
||||
"user_id_value": "Romuald GRUSON",
|
||||
"partner_id_value": "CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL",
|
||||
"manager_id_value": "Fabien LAFAY",
|
||||
"company_id_value": "CBAO S.A.R.L.",
|
||||
"subtask_project_id_value": "Demandes",
|
||||
"message_main_attachment_id_value": "image001.png",
|
||||
"create_uid_value": "OdooBot",
|
||||
"write_uid_value": "Romuald GRUSON"
|
||||
}
|
||||
156
exported_tickets/ticket_10990_raw.json
Normal file
156
exported_tickets/ticket_10990_raw.json
Normal file
@ -0,0 +1,156 @@
|
||||
{
|
||||
"id": 10990,
|
||||
"active": true,
|
||||
"name": "bug",
|
||||
"description": "<p><br></p>",
|
||||
"sequence": 10,
|
||||
"stage_id": [
|
||||
32,
|
||||
"En attente d'infos / retours"
|
||||
],
|
||||
"kanban_state": "normal",
|
||||
"create_date": "2025-03-06 08:11:49",
|
||||
"write_date": "2025-03-06 14:53:15",
|
||||
"date_start": "2025-03-06 08:11:50",
|
||||
"date_end": false,
|
||||
"date_assign": "2025-03-06 08:33:37",
|
||||
"date_deadline": "2025-03-21",
|
||||
"date_last_stage_update": "2025-03-06 14:53:15",
|
||||
"project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"notes": false,
|
||||
"planned_hours": 0.0,
|
||||
"user_id": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"partner_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
],
|
||||
"color": 0,
|
||||
"displayed_image_id": false,
|
||||
"parent_id": false,
|
||||
"child_ids": [],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"email_cc": "",
|
||||
"working_hours_open": 0.0,
|
||||
"working_hours_close": 0.0,
|
||||
"working_days_open": 0.0,
|
||||
"working_days_close": 0.0,
|
||||
"website_message_ids": [
|
||||
226932,
|
||||
226817
|
||||
],
|
||||
"remaining_hours": 0.0,
|
||||
"effective_hours": 0.0,
|
||||
"total_hours_spent": 0.0,
|
||||
"progress": 0.0,
|
||||
"subtask_effective_hours": 0.0,
|
||||
"timesheet_ids": [],
|
||||
"priority": "0",
|
||||
"code": "T11011",
|
||||
"milestone_id": false,
|
||||
"sale_line_id": false,
|
||||
"sale_order_id": false,
|
||||
"billable_type": "no",
|
||||
"activity_ids": [],
|
||||
"message_follower_ids": [
|
||||
89070,
|
||||
89073,
|
||||
89123
|
||||
],
|
||||
"message_ids": [
|
||||
226934,
|
||||
226933,
|
||||
226932,
|
||||
226830,
|
||||
226828,
|
||||
226818,
|
||||
226817,
|
||||
226816
|
||||
],
|
||||
"message_main_attachment_id": [
|
||||
144161,
|
||||
"image001.png"
|
||||
],
|
||||
"failed_message_ids": [],
|
||||
"rating_ids": [],
|
||||
"rating_last_value": 0.0,
|
||||
"access_token": "06875ce1-a1a5-48df-ab1b-6cdb5a99e59c",
|
||||
"create_uid": [
|
||||
1,
|
||||
"OdooBot"
|
||||
],
|
||||
"write_uid": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"x_CBAO_windows_maj_ID": false,
|
||||
"x_CBAO_version_signalement": false,
|
||||
"x_CBAO_version_correction": false,
|
||||
"x_CBAO_DateCorrection": false,
|
||||
"x_CBAO_Scoring_Facilite": 0,
|
||||
"x_CBAO_Scoring_Importance": 0,
|
||||
"x_CBAO_Scoring_Urgence": 0,
|
||||
"x_CBAO_Scoring_Incidence": 0,
|
||||
"x_CBAO_Scoring_Resultat": 0,
|
||||
"x_CBAO_InformationsSup": false,
|
||||
"kanban_state_label": "En cours",
|
||||
"subtask_planned_hours": 0.0,
|
||||
"manager_id": [
|
||||
22,
|
||||
"Fabien LAFAY"
|
||||
],
|
||||
"user_email": "romuald@mail.cbao.fr",
|
||||
"attachment_ids": [],
|
||||
"legend_blocked": "Bloqué",
|
||||
"legend_done": "Prêt pour la prochaine étape",
|
||||
"legend_normal": "En cours",
|
||||
"subtask_project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"subtask_count": 0,
|
||||
"analytic_account_active": true,
|
||||
"allow_timesheets": true,
|
||||
"use_milestones": false,
|
||||
"show_time_control": "start",
|
||||
"is_project_map_empty": true,
|
||||
"activity_state": false,
|
||||
"activity_user_id": false,
|
||||
"activity_type_id": false,
|
||||
"activity_date_deadline": false,
|
||||
"activity_summary": false,
|
||||
"message_is_follower": false,
|
||||
"message_unread": false,
|
||||
"message_unread_counter": 0,
|
||||
"message_needaction": false,
|
||||
"message_needaction_counter": 0,
|
||||
"message_has_error": false,
|
||||
"message_has_error_counter": 0,
|
||||
"message_attachment_count": 1,
|
||||
"rating_last_feedback": false,
|
||||
"rating_last_image": false,
|
||||
"rating_count": 0,
|
||||
"access_url": "/my/task/10990",
|
||||
"access_warning": "",
|
||||
"display_name": "[T11011] bug",
|
||||
"__last_update": "2025-03-06 14:53:15",
|
||||
"stage_id_value": "En attente d'infos / retours",
|
||||
"project_id_value": "Demandes",
|
||||
"user_id_value": "Romuald GRUSON",
|
||||
"partner_id_value": "CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL",
|
||||
"manager_id_value": "Fabien LAFAY",
|
||||
"company_id_value": "CBAO S.A.R.L.",
|
||||
"subtask_project_id_value": "Demandes",
|
||||
"message_main_attachment_id_value": "image001.png",
|
||||
"create_uid_value": "OdooBot",
|
||||
"write_uid_value": "Romuald GRUSON"
|
||||
}
|
||||
3
exported_tickets/ticket_T11011_raw.json
Normal file
3
exported_tickets/ticket_T11011_raw.json
Normal file
@ -0,0 +1,3 @@
|
||||
[
|
||||
10990
|
||||
]
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
12
filtered_tickets/ticket_10990_bug/attachments_info.json
Normal file
12
filtered_tickets/ticket_10990_bug/attachments_info.json
Normal file
@ -0,0 +1,12 @@
|
||||
[
|
||||
{
|
||||
"id": 144161,
|
||||
"name": "image001.png",
|
||||
"mimetype": "image/png",
|
||||
"create_date": "2025-03-06 08:11:49",
|
||||
"description": "image001.png",
|
||||
"res_name": "[T11011] bug",
|
||||
"type": "binary",
|
||||
"file_path": "attachments/144161_image001.png"
|
||||
}
|
||||
]
|
||||
15
filtered_tickets/ticket_10990_bug/contact_info.json
Normal file
15
filtered_tickets/ticket_10990_bug/contact_info.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"id": 5144,
|
||||
"name": "Dominique CARVAL",
|
||||
"email": "dominique.carval@morbihan.fr",
|
||||
"phone": "02 97 54 71 14",
|
||||
"mobile": "06 98 32 88 30",
|
||||
"street": "DSN-HOTEL DU DEPARTEMENT",
|
||||
"city": "VANNES",
|
||||
"zip": "56000",
|
||||
"country_id": [
|
||||
75,
|
||||
"France"
|
||||
],
|
||||
"comment": ""
|
||||
}
|
||||
110
filtered_tickets/ticket_10990_bug/followers.json
Normal file
110
filtered_tickets/ticket_10990_bug/followers.json
Normal file
@ -0,0 +1,110 @@
|
||||
[
|
||||
{
|
||||
"id": 89070,
|
||||
"partner_id": [
|
||||
28961,
|
||||
"Fabien LAFAY"
|
||||
],
|
||||
"subtype_ids": [
|
||||
1,
|
||||
20
|
||||
],
|
||||
"partner_details": {
|
||||
"id": 28961,
|
||||
"name": "Fabien LAFAY",
|
||||
"email": "fabien@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"name": "Task Rating",
|
||||
"description": "Ratings",
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 89073,
|
||||
"partner_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"subtype_ids": [
|
||||
1,
|
||||
20
|
||||
],
|
||||
"partner_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"name": "Task Rating",
|
||||
"description": "Ratings",
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 89123,
|
||||
"partner_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"subtype_ids": [
|
||||
1,
|
||||
20
|
||||
],
|
||||
"partner_details": {
|
||||
"id": 5144,
|
||||
"name": "Dominique CARVAL",
|
||||
"email": "dominique.carval@morbihan.fr",
|
||||
"phone": "02 97 54 71 14",
|
||||
"function": "Technicien de laboratoire",
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"name": "Task Rating",
|
||||
"description": "Ratings",
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
156
filtered_tickets/ticket_10990_bug/message_threads.json
Normal file
156
filtered_tickets/ticket_10990_bug/message_threads.json
Normal file
@ -0,0 +1,156 @@
|
||||
{
|
||||
"226816": {
|
||||
"main_message": null,
|
||||
"replies": [
|
||||
{
|
||||
"id": 226934,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
19,
|
||||
"Stage Changed"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226932,
|
||||
"body": "Bonjour , Les bases de données ont été redémarrées. Si l'incident persiste, n'hésitez pas à nous contacter. Je reste à votre entière disposition pour toute information complémentaire. Cordialement, --- Support technique Afin d'assurer une meilleure traçabilité et vous garantir une prise en charge optimale, nous vous invitons à envoyer vos demandes d'assistance technique à support@cbao.fr L'objectif du Support Technique est de vous aider : si vous rencontrez une difficulté, ou pour nous soumettre une ou des suggestions d'amélioration de nos logiciels ou de nos méthodes. Notre service est ouvert du lundi au vendredi de 9h à 12h et de 14h à 18h. Dès réception, un technicien prendra en charge votre demande et au besoin vous rappellera. Confidentialité : Ce courriel contient des informations confidentielles exclusivement réservées au destinataire mentionné. Si vous deviez recevoir cet e-mail par erreur, merci d’en avertir immédiatement l’expéditeur et de le supprimer de votre système informatique. Au cas où vous ne seriez pas destinataire de ce message, veuillez noter que sa divulgation, sa copie ou tout acte en rapport avec la communication du contenu des informations est strictement interdit.",
|
||||
"date": "2025-03-06 14:53:14",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "support@cbao.fr",
|
||||
"subject": "Re: [T11011] - bug",
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "comment",
|
||||
"subtype_id": [
|
||||
1,
|
||||
"Discussions"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226830,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:44",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
16,
|
||||
"Task Created"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226817,
|
||||
"body": "Bonjour, Gros ralentissement ce matin !!!! ca tourne en rond…. Bonne réception Dominique CARVAL Technicien de laboratoire Direction des Infrastructures et des mobilités (DIM) Service d’Appui aux Politiques d’Aménagement / Pôle Laboratoire Routier (SAPA/PLR) 115, rue du commerce – 56000 VANNES tél : 02 97 54 71 14 - mobile : 06 98 32 88 30 – dominique.carval@morbihan.fr Droit à la déconnexion : Si vous recevez ce message en dehors de vos heures de travail ou pendant vos congés, vous n’êtes pas tenu de répondre immédiatement, sauf en cas d’urgence exceptionnelle. Ce message électronique et tous les fichiers attachés qu'il contient peuvent être confidentiels, contenir des données personnelles ou sensibles et être soumis au secret professionnel. Il est destiné exclusivement à l'usage du ou des destinataires. Si vous recevez ce message par erreur et/ou si vous n'êtes pas le destinataire désigné de ce message, le département du Morbihan vous remercie d'avertir immédiatement l'expéditeur et de le détruire ainsi que toutes les pièces jointes s'y rattachant. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et des attachements qu'il contient sont strictement interdits. Tout message électronique est susceptible d'altération.",
|
||||
"date": "2025-03-06 08:07:49",
|
||||
"author_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"subject": "bug",
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "email",
|
||||
"subtype_id": [
|
||||
1,
|
||||
"Discussions"
|
||||
],
|
||||
"attachment_ids": [
|
||||
144161
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"226933": {
|
||||
"main_message": {
|
||||
"id": 226933,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
"replies": []
|
||||
},
|
||||
"226828": {
|
||||
"main_message": {
|
||||
"id": 226828,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:37",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
"replies": []
|
||||
},
|
||||
"226818": {
|
||||
"main_message": {
|
||||
"id": 226818,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:11:51",
|
||||
"author_id": [
|
||||
2,
|
||||
"OdooBot"
|
||||
],
|
||||
"email_from": "\"OdooBot\" <odoobot@example.com>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
"replies": []
|
||||
}
|
||||
}
|
||||
160
filtered_tickets/ticket_10990_bug/messages.json
Normal file
160
filtered_tickets/ticket_10990_bug/messages.json
Normal file
@ -0,0 +1,160 @@
|
||||
[
|
||||
{
|
||||
"id": 226934,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
19,
|
||||
"Stage Changed"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226933,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226932,
|
||||
"body": "Bonjour , Les bases de données ont été redémarrées. Si l'incident persiste, n'hésitez pas à nous contacter. Je reste à votre entière disposition pour toute information complémentaire. Cordialement, --- Support technique Afin d'assurer une meilleure traçabilité et vous garantir une prise en charge optimale, nous vous invitons à envoyer vos demandes d'assistance technique à support@cbao.fr L'objectif du Support Technique est de vous aider : si vous rencontrez une difficulté, ou pour nous soumettre une ou des suggestions d'amélioration de nos logiciels ou de nos méthodes. Notre service est ouvert du lundi au vendredi de 9h à 12h et de 14h à 18h. Dès réception, un technicien prendra en charge votre demande et au besoin vous rappellera. Confidentialité : Ce courriel contient des informations confidentielles exclusivement réservées au destinataire mentionné. Si vous deviez recevoir cet e-mail par erreur, merci d’en avertir immédiatement l’expéditeur et de le supprimer de votre système informatique. Au cas où vous ne seriez pas destinataire de ce message, veuillez noter que sa divulgation, sa copie ou tout acte en rapport avec la communication du contenu des informations est strictement interdit.",
|
||||
"date": "2025-03-06 14:53:14",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "support@cbao.fr",
|
||||
"subject": "Re: [T11011] - bug",
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "comment",
|
||||
"subtype_id": [
|
||||
1,
|
||||
"Discussions"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226830,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:44",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
16,
|
||||
"Task Created"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226828,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:37",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226818,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:11:51",
|
||||
"author_id": [
|
||||
2,
|
||||
"OdooBot"
|
||||
],
|
||||
"email_from": "\"OdooBot\" <odoobot@example.com>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": []
|
||||
},
|
||||
{
|
||||
"id": 226817,
|
||||
"body": "Bonjour, Gros ralentissement ce matin !!!! ca tourne en rond…. Bonne réception Dominique CARVAL Technicien de laboratoire Direction des Infrastructures et des mobilités (DIM) Service d’Appui aux Politiques d’Aménagement / Pôle Laboratoire Routier (SAPA/PLR) 115, rue du commerce – 56000 VANNES tél : 02 97 54 71 14 - mobile : 06 98 32 88 30 – dominique.carval@morbihan.fr Droit à la déconnexion : Si vous recevez ce message en dehors de vos heures de travail ou pendant vos congés, vous n’êtes pas tenu de répondre immédiatement, sauf en cas d’urgence exceptionnelle. Ce message électronique et tous les fichiers attachés qu'il contient peuvent être confidentiels, contenir des données personnelles ou sensibles et être soumis au secret professionnel. Il est destiné exclusivement à l'usage du ou des destinataires. Si vous recevez ce message par erreur et/ou si vous n'êtes pas le destinataire désigné de ce message, le département du Morbihan vous remercie d'avertir immédiatement l'expéditeur et de le détruire ainsi que toutes les pièces jointes s'y rattachant. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et des attachements qu'il contient sont strictement interdits. Tout message électronique est susceptible d'altération.",
|
||||
"date": "2025-03-06 08:07:49",
|
||||
"author_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"subject": "bug",
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "email",
|
||||
"subtype_id": [
|
||||
1,
|
||||
"Discussions"
|
||||
],
|
||||
"attachment_ids": [
|
||||
144161
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 226816,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:11:51",
|
||||
"author_id": [
|
||||
2,
|
||||
"OdooBot"
|
||||
],
|
||||
"email_from": "\"OdooBot\" <odoobot@example.com>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
16,
|
||||
"Task Created"
|
||||
],
|
||||
"attachment_ids": []
|
||||
}
|
||||
]
|
||||
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226816,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:11:51",
|
||||
"author_id": [
|
||||
2,
|
||||
"OdooBot"
|
||||
],
|
||||
"email_from": "\"OdooBot\" <odoobot@example.com>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
16,
|
||||
"Task Created"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 2,
|
||||
"name": "OdooBot",
|
||||
"email": "odoobot@example.com",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 16,
|
||||
"name": "Task Created",
|
||||
"description": "Task Created",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
{
|
||||
"id": 226817,
|
||||
"body": "Bonjour, Gros ralentissement ce matin !!!! ca tourne en rond…. Bonne réception Dominique CARVAL Technicien de laboratoire Direction des Infrastructures et des mobilités (DIM) Service d’Appui aux Politiques d’Aménagement / Pôle Laboratoire Routier (SAPA/PLR) 115, rue du commerce – 56000 VANNES tél : 02 97 54 71 14 - mobile : 06 98 32 88 30 – dominique.carval@morbihan.fr Droit à la déconnexion : Si vous recevez ce message en dehors de vos heures de travail ou pendant vos congés, vous n’êtes pas tenu de répondre immédiatement, sauf en cas d’urgence exceptionnelle. Ce message électronique et tous les fichiers attachés qu'il contient peuvent être confidentiels, contenir des données personnelles ou sensibles et être soumis au secret professionnel. Il est destiné exclusivement à l'usage du ou des destinataires. Si vous recevez ce message par erreur et/ou si vous n'êtes pas le destinataire désigné de ce message, le département du Morbihan vous remercie d'avertir immédiatement l'expéditeur et de le détruire ainsi que toutes les pièces jointes s'y rattachant. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et des attachements qu'il contient sont strictement interdits. Tout message électronique est susceptible d'altération.",
|
||||
"date": "2025-03-06 08:07:49",
|
||||
"author_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"subject": "bug",
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "email",
|
||||
"subtype_id": [
|
||||
1,
|
||||
"Discussions"
|
||||
],
|
||||
"attachment_ids": [
|
||||
144161
|
||||
],
|
||||
"author_details": {
|
||||
"id": 5144,
|
||||
"name": "Dominique CARVAL",
|
||||
"email": "dominique.carval@morbihan.fr",
|
||||
"phone": "02 97 54 71 14",
|
||||
"function": "Technicien de laboratoire",
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226818,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:11:51",
|
||||
"author_id": [
|
||||
2,
|
||||
"OdooBot"
|
||||
],
|
||||
"email_from": "\"OdooBot\" <odoobot@example.com>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 2,
|
||||
"name": "OdooBot",
|
||||
"email": "odoobot@example.com",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Note",
|
||||
"description": false,
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226828,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:37",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Note",
|
||||
"description": false,
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
{
|
||||
"id": 226830,
|
||||
"body": "",
|
||||
"date": "2025-03-06 08:33:44",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
16,
|
||||
"Task Created"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 16,
|
||||
"name": "Task Created",
|
||||
"description": "Task Created",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
{
|
||||
"id": 226932,
|
||||
"body": "Bonjour , Les bases de données ont été redémarrées. Si l'incident persiste, n'hésitez pas à nous contacter. Je reste à votre entière disposition pour toute information complémentaire. Cordialement, --- Support technique Afin d'assurer une meilleure traçabilité et vous garantir une prise en charge optimale, nous vous invitons à envoyer vos demandes d'assistance technique à support@cbao.fr L'objectif du Support Technique est de vous aider : si vous rencontrez une difficulté, ou pour nous soumettre une ou des suggestions d'amélioration de nos logiciels ou de nos méthodes. Notre service est ouvert du lundi au vendredi de 9h à 12h et de 14h à 18h. Dès réception, un technicien prendra en charge votre demande et au besoin vous rappellera. Confidentialité : Ce courriel contient des informations confidentielles exclusivement réservées au destinataire mentionné. Si vous deviez recevoir cet e-mail par erreur, merci d’en avertir immédiatement l’expéditeur et de le supprimer de votre système informatique. Au cas où vous ne seriez pas destinataire de ce message, veuillez noter que sa divulgation, sa copie ou tout acte en rapport avec la communication du contenu des informations est strictement interdit.",
|
||||
"date": "2025-03-06 14:53:14",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "support@cbao.fr",
|
||||
"subject": "Re: [T11011] - bug",
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "comment",
|
||||
"subtype_id": [
|
||||
1,
|
||||
"Discussions"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "Discussions",
|
||||
"description": false,
|
||||
"default": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": 226933,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": false,
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
2,
|
||||
"Note"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 2,
|
||||
"name": "Note",
|
||||
"description": false,
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
{
|
||||
"id": 226934,
|
||||
"body": "",
|
||||
"date": "2025-03-06 14:53:15",
|
||||
"author_id": [
|
||||
32165,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"email_from": "\"Romuald GRUSON\" <romuald@cbao.fr>",
|
||||
"subject": false,
|
||||
"parent_id": [
|
||||
226816,
|
||||
"[T11011] bug"
|
||||
],
|
||||
"message_type": "notification",
|
||||
"subtype_id": [
|
||||
19,
|
||||
"Stage Changed"
|
||||
],
|
||||
"attachment_ids": [],
|
||||
"author_details": {
|
||||
"id": 32165,
|
||||
"name": "Romuald GRUSON",
|
||||
"email": "romuald@mail.cbao.fr",
|
||||
"phone": false,
|
||||
"function": false,
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
]
|
||||
},
|
||||
"subtype_details": [
|
||||
{
|
||||
"id": 19,
|
||||
"name": "Stage Changed",
|
||||
"description": "Stage changed",
|
||||
"default": false
|
||||
}
|
||||
]
|
||||
}
|
||||
156
filtered_tickets/ticket_10990_bug/ticket_info.json
Normal file
156
filtered_tickets/ticket_10990_bug/ticket_info.json
Normal file
@ -0,0 +1,156 @@
|
||||
{
|
||||
"id": 10990,
|
||||
"active": true,
|
||||
"name": "bug",
|
||||
"description": "<p><br></p>",
|
||||
"sequence": 10,
|
||||
"stage_id": [
|
||||
32,
|
||||
"En attente d'infos / retours"
|
||||
],
|
||||
"kanban_state": "normal",
|
||||
"create_date": "2025-03-06 08:11:49",
|
||||
"write_date": "2025-03-06 14:53:15",
|
||||
"date_start": "2025-03-06 08:11:50",
|
||||
"date_end": false,
|
||||
"date_assign": "2025-03-06 08:33:37",
|
||||
"date_deadline": "2025-03-21",
|
||||
"date_last_stage_update": "2025-03-06 14:53:15",
|
||||
"project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"notes": false,
|
||||
"planned_hours": 0.0,
|
||||
"user_id": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"partner_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
],
|
||||
"color": 0,
|
||||
"displayed_image_id": false,
|
||||
"parent_id": false,
|
||||
"child_ids": [],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"email_cc": "",
|
||||
"working_hours_open": 0.0,
|
||||
"working_hours_close": 0.0,
|
||||
"working_days_open": 0.0,
|
||||
"working_days_close": 0.0,
|
||||
"website_message_ids": [
|
||||
226932,
|
||||
226817
|
||||
],
|
||||
"remaining_hours": 0.0,
|
||||
"effective_hours": 0.0,
|
||||
"total_hours_spent": 0.0,
|
||||
"progress": 0.0,
|
||||
"subtask_effective_hours": 0.0,
|
||||
"timesheet_ids": [],
|
||||
"priority": "0",
|
||||
"code": "T11011",
|
||||
"milestone_id": false,
|
||||
"sale_line_id": false,
|
||||
"sale_order_id": false,
|
||||
"billable_type": "no",
|
||||
"activity_ids": [],
|
||||
"message_follower_ids": [
|
||||
89070,
|
||||
89073,
|
||||
89123
|
||||
],
|
||||
"message_ids": [
|
||||
226934,
|
||||
226933,
|
||||
226932,
|
||||
226830,
|
||||
226828,
|
||||
226818,
|
||||
226817,
|
||||
226816
|
||||
],
|
||||
"message_main_attachment_id": [
|
||||
144161,
|
||||
"image001.png"
|
||||
],
|
||||
"failed_message_ids": [],
|
||||
"rating_ids": [],
|
||||
"rating_last_value": 0.0,
|
||||
"access_token": "06875ce1-a1a5-48df-ab1b-6cdb5a99e59c",
|
||||
"create_uid": [
|
||||
1,
|
||||
"OdooBot"
|
||||
],
|
||||
"write_uid": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"x_CBAO_windows_maj_ID": false,
|
||||
"x_CBAO_version_signalement": false,
|
||||
"x_CBAO_version_correction": false,
|
||||
"x_CBAO_DateCorrection": false,
|
||||
"x_CBAO_Scoring_Facilite": 0,
|
||||
"x_CBAO_Scoring_Importance": 0,
|
||||
"x_CBAO_Scoring_Urgence": 0,
|
||||
"x_CBAO_Scoring_Incidence": 0,
|
||||
"x_CBAO_Scoring_Resultat": 0,
|
||||
"x_CBAO_InformationsSup": false,
|
||||
"kanban_state_label": "En cours",
|
||||
"subtask_planned_hours": 0.0,
|
||||
"manager_id": [
|
||||
22,
|
||||
"Fabien LAFAY"
|
||||
],
|
||||
"user_email": "romuald@mail.cbao.fr",
|
||||
"attachment_ids": [],
|
||||
"legend_blocked": "Bloqué",
|
||||
"legend_done": "Prêt pour la prochaine étape",
|
||||
"legend_normal": "En cours",
|
||||
"subtask_project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"subtask_count": 0,
|
||||
"analytic_account_active": true,
|
||||
"allow_timesheets": true,
|
||||
"use_milestones": false,
|
||||
"show_time_control": "start",
|
||||
"is_project_map_empty": true,
|
||||
"activity_state": false,
|
||||
"activity_user_id": false,
|
||||
"activity_type_id": false,
|
||||
"activity_date_deadline": false,
|
||||
"activity_summary": false,
|
||||
"message_is_follower": false,
|
||||
"message_unread": false,
|
||||
"message_unread_counter": 0,
|
||||
"message_needaction": false,
|
||||
"message_needaction_counter": 0,
|
||||
"message_has_error": false,
|
||||
"message_has_error_counter": 0,
|
||||
"message_attachment_count": 1,
|
||||
"rating_last_feedback": false,
|
||||
"rating_last_image": false,
|
||||
"rating_count": 0,
|
||||
"access_url": "/my/task/10990",
|
||||
"access_warning": "",
|
||||
"display_name": "[T11011] bug",
|
||||
"__last_update": "2025-03-06 14:53:15",
|
||||
"stage_id_value": "En attente d'infos / retours",
|
||||
"project_id_value": "Demandes",
|
||||
"user_id_value": "Romuald GRUSON",
|
||||
"partner_id_value": "CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL",
|
||||
"manager_id_value": "Fabien LAFAY",
|
||||
"company_id_value": "CBAO S.A.R.L.",
|
||||
"subtask_project_id_value": "Demandes",
|
||||
"message_main_attachment_id_value": "image001.png",
|
||||
"create_uid_value": "OdooBot",
|
||||
"write_uid_value": "Romuald GRUSON"
|
||||
}
|
||||
156
filtered_tickets/ticket_10990_raw.json
Normal file
156
filtered_tickets/ticket_10990_raw.json
Normal file
@ -0,0 +1,156 @@
|
||||
{
|
||||
"id": 10990,
|
||||
"active": true,
|
||||
"name": "bug",
|
||||
"description": "<p><br></p>",
|
||||
"sequence": 10,
|
||||
"stage_id": [
|
||||
32,
|
||||
"En attente d'infos / retours"
|
||||
],
|
||||
"kanban_state": "normal",
|
||||
"create_date": "2025-03-06 08:11:49",
|
||||
"write_date": "2025-03-06 14:53:15",
|
||||
"date_start": "2025-03-06 08:11:50",
|
||||
"date_end": false,
|
||||
"date_assign": "2025-03-06 08:33:37",
|
||||
"date_deadline": "2025-03-21",
|
||||
"date_last_stage_update": "2025-03-06 14:53:15",
|
||||
"project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"notes": false,
|
||||
"planned_hours": 0.0,
|
||||
"user_id": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"partner_id": [
|
||||
5144,
|
||||
"CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL"
|
||||
],
|
||||
"company_id": [
|
||||
1,
|
||||
"CBAO S.A.R.L."
|
||||
],
|
||||
"color": 0,
|
||||
"displayed_image_id": false,
|
||||
"parent_id": false,
|
||||
"child_ids": [],
|
||||
"email_from": "CARVAL Dominique <dominique.carval@morbihan.fr>",
|
||||
"email_cc": "",
|
||||
"working_hours_open": 0.0,
|
||||
"working_hours_close": 0.0,
|
||||
"working_days_open": 0.0,
|
||||
"working_days_close": 0.0,
|
||||
"website_message_ids": [
|
||||
226932,
|
||||
226817
|
||||
],
|
||||
"remaining_hours": 0.0,
|
||||
"effective_hours": 0.0,
|
||||
"total_hours_spent": 0.0,
|
||||
"progress": 0.0,
|
||||
"subtask_effective_hours": 0.0,
|
||||
"timesheet_ids": [],
|
||||
"priority": "0",
|
||||
"code": "T11011",
|
||||
"milestone_id": false,
|
||||
"sale_line_id": false,
|
||||
"sale_order_id": false,
|
||||
"billable_type": "no",
|
||||
"activity_ids": [],
|
||||
"message_follower_ids": [
|
||||
89070,
|
||||
89073,
|
||||
89123
|
||||
],
|
||||
"message_ids": [
|
||||
226934,
|
||||
226933,
|
||||
226932,
|
||||
226830,
|
||||
226828,
|
||||
226818,
|
||||
226817,
|
||||
226816
|
||||
],
|
||||
"message_main_attachment_id": [
|
||||
144161,
|
||||
"image001.png"
|
||||
],
|
||||
"failed_message_ids": [],
|
||||
"rating_ids": [],
|
||||
"rating_last_value": 0.0,
|
||||
"access_token": "06875ce1-a1a5-48df-ab1b-6cdb5a99e59c",
|
||||
"create_uid": [
|
||||
1,
|
||||
"OdooBot"
|
||||
],
|
||||
"write_uid": [
|
||||
32,
|
||||
"Romuald GRUSON"
|
||||
],
|
||||
"x_CBAO_windows_maj_ID": false,
|
||||
"x_CBAO_version_signalement": false,
|
||||
"x_CBAO_version_correction": false,
|
||||
"x_CBAO_DateCorrection": false,
|
||||
"x_CBAO_Scoring_Facilite": 0,
|
||||
"x_CBAO_Scoring_Importance": 0,
|
||||
"x_CBAO_Scoring_Urgence": 0,
|
||||
"x_CBAO_Scoring_Incidence": 0,
|
||||
"x_CBAO_Scoring_Resultat": 0,
|
||||
"x_CBAO_InformationsSup": false,
|
||||
"kanban_state_label": "En cours",
|
||||
"subtask_planned_hours": 0.0,
|
||||
"manager_id": [
|
||||
22,
|
||||
"Fabien LAFAY"
|
||||
],
|
||||
"user_email": "romuald@mail.cbao.fr",
|
||||
"attachment_ids": [],
|
||||
"legend_blocked": "Bloqué",
|
||||
"legend_done": "Prêt pour la prochaine étape",
|
||||
"legend_normal": "En cours",
|
||||
"subtask_project_id": [
|
||||
3,
|
||||
"Demandes"
|
||||
],
|
||||
"subtask_count": 0,
|
||||
"analytic_account_active": true,
|
||||
"allow_timesheets": true,
|
||||
"use_milestones": false,
|
||||
"show_time_control": "start",
|
||||
"is_project_map_empty": true,
|
||||
"activity_state": false,
|
||||
"activity_user_id": false,
|
||||
"activity_type_id": false,
|
||||
"activity_date_deadline": false,
|
||||
"activity_summary": false,
|
||||
"message_is_follower": false,
|
||||
"message_unread": false,
|
||||
"message_unread_counter": 0,
|
||||
"message_needaction": false,
|
||||
"message_needaction_counter": 0,
|
||||
"message_has_error": false,
|
||||
"message_has_error_counter": 0,
|
||||
"message_attachment_count": 1,
|
||||
"rating_last_feedback": false,
|
||||
"rating_last_image": false,
|
||||
"rating_count": 0,
|
||||
"access_url": "/my/task/10990",
|
||||
"access_warning": "",
|
||||
"display_name": "[T11011] bug",
|
||||
"__last_update": "2025-03-06 14:53:15",
|
||||
"stage_id_value": "En attente d'infos / retours",
|
||||
"project_id_value": "Demandes",
|
||||
"user_id_value": "Romuald GRUSON",
|
||||
"partner_id_value": "CONSEIL DEPARTEMENTAL DU MORBIHAN (56), Dominique CARVAL",
|
||||
"manager_id_value": "Fabien LAFAY",
|
||||
"company_id_value": "CBAO S.A.R.L.",
|
||||
"subtask_project_id_value": "Demandes",
|
||||
"message_main_attachment_id_value": "image001.png",
|
||||
"create_uid_value": "OdooBot",
|
||||
"write_uid_value": "Romuald GRUSON"
|
||||
}
|
||||
3
filtered_tickets/ticket_T11011_raw.json
Normal file
3
filtered_tickets/ticket_T11011_raw.json
Normal file
@ -0,0 +1,3 @@
|
||||
[
|
||||
10990
|
||||
]
|
||||
@ -1,5 +1,9 @@
|
||||
import os
|
||||
import json
|
||||
from datetime import datetime
|
||||
from utils import print_success, print_error, EXPORT_DIR, prompt_yes_no, INTERACTIVE, print_info
|
||||
from ticket_manager import TicketManager
|
||||
from utils import print_error
|
||||
from data_filter import run_filter_wizard
|
||||
|
||||
# Initialisation de l'objet
|
||||
ticket_manager = TicketManager()
|
||||
@ -157,4 +161,22 @@ def handle_extract_ticket_attachments():
|
||||
if output_dir:
|
||||
print(f"\nExtraction terminée avec succès. Les fichiers ont été enregistrés dans: {output_dir}")
|
||||
else:
|
||||
print_error(f"L'extraction a échoué pour le ticket avec l'ID {ticket_id}")
|
||||
print_error(f"L'extraction a échoué pour le ticket avec l'ID {ticket_id}")
|
||||
|
||||
def handle_filter_html_messages():
|
||||
"""Gère le filtrage des messages HTML dans les tickets exportés"""
|
||||
print("\n==== FILTRAGE DES MESSAGES HTML ====")
|
||||
|
||||
if not os.path.exists(EXPORT_DIR) or not os.listdir(EXPORT_DIR):
|
||||
print_error(f"Aucun ticket exporté trouvé dans {EXPORT_DIR}. Veuillez d'abord exporter des tickets.")
|
||||
return
|
||||
|
||||
print_info("Cette fonctionnalité va analyser les tickets exportés et nettoyer les messages HTML.")
|
||||
print_info("Les messages nettoyés seront sauvegardés dans un nouveau répertoire 'filtered_tickets'.")
|
||||
|
||||
if INTERACTIVE and not prompt_yes_no("Voulez-vous continuer?"):
|
||||
print_info("Opération annulée.")
|
||||
return
|
||||
|
||||
# Exécuter l'assistant de filtrage
|
||||
run_filter_wizard()
|
||||
@ -4,7 +4,8 @@ from menu_handlers import (
|
||||
handle_search_ticket_by_code,
|
||||
handle_list_models,
|
||||
handle_list_model_fields,
|
||||
handle_extract_ticket_attachments
|
||||
handle_extract_ticket_attachments,
|
||||
handle_filter_html_messages
|
||||
)
|
||||
|
||||
def display_main_menu():
|
||||
@ -16,8 +17,9 @@ def display_main_menu():
|
||||
print("4. Afficher la liste des modèles disponibles")
|
||||
print("5. Afficher les champs d'un modèle donné")
|
||||
print("6. Extraire les pièces jointes, messages et informations détaillées d'un ticket")
|
||||
print("7. Quitter")
|
||||
return input("\nChoisissez une option (1-7): ")
|
||||
print("7. Filtrer les messages HTML des tickets exportés")
|
||||
print("8. Quitter")
|
||||
return input("\nChoisissez une option (1-8): ")
|
||||
|
||||
|
||||
def run_menu():
|
||||
@ -37,7 +39,9 @@ def run_menu():
|
||||
elif choice == '6':
|
||||
handle_extract_ticket_attachments()
|
||||
elif choice == '7':
|
||||
handle_filter_html_messages()
|
||||
elif choice == '8':
|
||||
print("Au revoir!")
|
||||
break
|
||||
else:
|
||||
print("Option invalide. Veuillez choisir entre 1 et 7.")
|
||||
print("Option invalide. Veuillez choisir entre 1 et 8.")
|
||||
29
utils.py
29
utils.py
@ -1,2 +1,29 @@
|
||||
import os
|
||||
|
||||
# Répertoire d'exportation des tickets
|
||||
EXPORT_DIR = "exported_tickets"
|
||||
|
||||
# Mode interactif
|
||||
INTERACTIVE = True
|
||||
|
||||
def print_error(message):
|
||||
print(f" Erreur: {message}")
|
||||
print(f"\033[91m Erreur: {message}\033[0m")
|
||||
|
||||
def print_success(message):
|
||||
print(f"\033[92m Succès: {message}\033[0m")
|
||||
|
||||
def print_info(message):
|
||||
print(f"\033[94m Info: {message}\033[0m")
|
||||
|
||||
def prompt_yes_no(question):
|
||||
"""
|
||||
Demande une confirmation oui/non à l'utilisateur.
|
||||
|
||||
Args:
|
||||
question: Question à poser
|
||||
|
||||
Returns:
|
||||
True si la réponse est 'o', False sinon
|
||||
"""
|
||||
answer = input(f"{question} (o/n): ").strip().lower()
|
||||
return answer == 'o'
|
||||
Loading…
x
Reference in New Issue
Block a user