[{"data":1,"prerenderedAt":5811},["Reactive",2],{"navigation":3,"/dodock/ressources/concepts/scripts-python":2071,"/dodock/ressources/concepts/scripts-python-surround":5806},[4,1149,1811,1953,1979],{"title":5,"_path":6,"children":7,"icon":1148},"Dokos","/dokos",[8,11,93,121,154,215,245,284,302,394,439,467,491,738,794,806,822,875,898,902,906,1114,1116],{"title":9,"_path":6,"icon":10},"Bienvenue sur l'écosystème Dokos","i-icon-park-outline-fireworks",{"title":12,"_path":13,"children":14,"icon":92},"Paramétrage","/dokos/parametrage",[15,16,19,22,25,28,31,34],{"title":12,"_path":13},{"title":17,"_path":18},"La société","/dokos/parametrage/societe",{"title":20,"_path":21},"Le plan comptable","/dokos/parametrage/plan-comptable",{"title":23,"_path":24},"Les articles","/dokos/parametrage/articles",{"title":26,"_path":27},"Les prix","/dokos/parametrage/prix",{"title":29,"_path":30},"Les clients","/dokos/parametrage/clients",{"title":32,"_path":33},"Les fournisseurs","/dokos/parametrage/fournisseurs",{"title":35,"_path":36,"children":37},"Démarrage","/dokos/parametrage/demarrage",[38,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84],{"title":35,"_path":36},{"title":40,"_path":41},"Importateur de plans de comptes","/dokos/parametrage/demarrage/plan-comptable",{"title":43,"_path":44},"Configuration de la société","/dokos/parametrage/demarrage/societe",{"title":46,"_path":47},"Configurer les taxes","/dokos/parametrage/demarrage/taxes",{"title":49,"_path":50},"Paramètres de nommage des documents","/dokos/parametrage/demarrage/masques-numerotation",{"title":52,"_path":53},"Outil d'importation de données","/dokos/parametrage/demarrage/import-de-donnees",{"title":55,"_path":56},"Export de données","/dokos/parametrage/demarrage/export-de-donnees",{"title":58,"_path":59},"Les paramètres système","/dokos/parametrage/demarrage/parametres-systeme",{"title":61,"_path":62},"Valeurs par défaut globales","/dokos/parametrage/demarrage/valeurs-globales",{"title":64,"_path":65},"Termes et conditions","/dokos/parametrage/demarrage/termes-et-conditions",{"title":67,"_path":68},"Utilisateurs, rôles et autorisations","/dokos/parametrage/demarrage/utilisateurs-et-autorisations",{"title":70,"_path":71},"Définition de l'objectif de vente de l'entreprise","/dokos/parametrage/demarrage/objectifs-de-vente",{"title":73,"_path":74},"Téléchargement de sauvegardes","/dokos/parametrage/demarrage/sauvegardes",{"title":76,"_path":77},"Notifications","/dokos/parametrage/demarrage/notifications",{"title":79,"_path":80},"Imprimer les titres","/dokos/parametrage/demarrage/titres",{"title":82,"_path":83},"Modèle d'adresse","/dokos/parametrage/demarrage/modele-adresse",{"title":85,"_path":86,"children":87},"Flux de travail","/dokos/parametrage/demarrage/workflows",[88,89],{"title":85,"_path":86},{"title":90,"_path":91},"Règle d'attribution","/dokos/parametrage/demarrage/workflows/assignment-rule","i-icon-park-outline-ad-product",{"title":94,"_path":95,"children":96,"icon":120},"Achats","/dokos/achats",[97,99,102,105,108,111,114,117],{"title":98,"_path":95},"Introduction",{"title":100,"_path":101},"Paramètres des achats","/dokos/achats/parametres-achats",{"title":103,"_path":104},"Devis Fournisseur","/dokos/achats/devis-fournisseurs",{"title":106,"_path":107},"Commande Fournisseur","/dokos/achats/commandes-fournisseur",{"title":109,"_path":110},"Facture d'achat","/dokos/achats/factures-achats",{"title":112,"_path":113},"Appel d'offre","/dokos/achats/appel-offre",{"title":115,"_path":116},"Carte de pointage des fournisseurs","/dokos/achats/evaluation-fournisseurs",{"title":118,"_path":119},"Modèle de taxes et frais d'achat","/dokos/achats/taxes","i-icon-park-outline-buy",{"title":122,"_path":123,"children":124,"icon":153},"Immobilisations","/dokos/actifs",[125,126,129,132,135,138,141,144,147,150],{"title":98,"_path":123},{"title":127,"_path":128},"Premiers pas avec les actifs","/dokos/actifs/demarrer",{"title":130,"_path":131},"Les actifs","/dokos/actifs/actif",{"title":133,"_path":134},"Amortissement des actifs","/dokos/actifs/depreciation-actif",{"title":136,"_path":137},"Ajustement de la valeur de l'actif","/dokos/actifs/ajustment-de-la-valeur-des-actifs",{"title":139,"_path":140},"Achat d'un actif","/dokos/actifs/acheter-un-actif",{"title":142,"_path":143},"Réparation d'actifs","/dokos/actifs/reparation-actifs",{"title":145,"_path":146},"Vendre un actif","/dokos/actifs/vendre-un-actif",{"title":148,"_path":149},"Mouvement d'actif","/dokos/actifs/mouvements-actifs",{"title":151,"_path":152},"Maintenance des actifs","/dokos/actifs/maintenance-des-actifs","i-carbon-asset",{"title":155,"_path":156,"children":157,"icon":214},"Comptabilité","/dokos/comptabilite",[158,159,162,165,168,171,174,177,180,183,186,189,192,195,198],{"title":98,"_path":156},{"title":160,"_path":161},"Paramètres de comptabilité","/dokos/comptabilite/parametres-comptabilite",{"title":163,"_path":164},"Exercice fiscal","/dokos/comptabilite/exercice-fiscal",{"title":166,"_path":167},"Période comptable","/dokos/comptabilite/periode-comptable",{"title":169,"_path":170},"Journal Comptable","/dokos/comptabilite/journal-comptable",{"title":172,"_path":173},"Modes de paiement","/dokos/comptabilite/mode-de-paiement",{"title":175,"_path":176},"Compte bancaire","/dokos/comptabilite/compte-bancaire",{"title":178,"_path":179},"Dimensions comptables","/dokos/comptabilite/dimensions-comptables",{"title":181,"_path":182},"Écriture de journal","/dokos/comptabilite/ecriture-journal",{"title":184,"_path":185},"Ecriture de paiement","/dokos/comptabilite/ecriture-paiements",{"title":187,"_path":188},"Passerelles de paiement","/dokos/comptabilite/passerelles-paiements",{"title":190,"_path":191},"Rapprochement bancaire","/dokos/comptabilite/rapprochement-bancaire",{"title":193,"_path":194},"Synchronisation bancaire","/dokos/comptabilite/synchronisation-bancaire",{"title":196,"_path":197},"Prélèvement Sepa","/dokos/comptabilite/prelevement-sepa",{"title":199,"_path":200,"children":201},"Rapports","/dokos/comptabilite/rapports",[202,205,208,211],{"title":203,"_path":204},"Balance Générale","/dokos/comptabilite/rapports/balance-generale",{"title":206,"_path":207},"Bilan","/dokos/comptabilite/rapports/bilan",{"title":209,"_path":210},"Compte de résultat","/dokos/comptabilite/rapports/compte-de-resultat",{"title":212,"_path":213},"Grand Livre","/dokos/comptabilite/rapports/grand-livre","i-uil-balance-scale",{"title":216,"_path":217,"children":218,"icon":244},"CRM","/dokos/crm",[219,220,223,226,229,232,235,238,241],{"title":98,"_path":217},{"title":221,"_path":222},"Piste","/dokos/crm/piste",{"title":224,"_path":225},"Prospect","/dokos/crm/prospect",{"title":227,"_path":228},"Opportunité","/dokos/crm/opportunite",{"title":230,"_path":231},"Campagne","/dokos/crm/campagne",{"title":233,"_path":234},"Campagne d'emailing","/dokos/crm/email-campaign",{"title":236,"_path":237},"Contrat","/dokos/crm/contrat",{"title":239,"_path":240},"Newsletter","/dokos/crm/newsletter",{"title":242,"_path":243},"Rendez-vous","/dokos/crm/rendez-vous","i-carbon-chart-relationship",{"title":246,"_path":247,"children":248,"icon":283},"Ventes","/dokos/ventes",[249,250,253,256,259,262,265,268,271,274,277,280],{"title":246,"_path":247},{"title":251,"_path":252},"Paramètres de vente","/dokos/ventes/parametres-vente",{"title":254,"_path":255},"Devis Client","/dokos/ventes/devis",{"title":257,"_path":258},"Commande client","/dokos/ventes/commande-client",{"title":260,"_path":261},"Facture de vente","/dokos/ventes/facture-de-vente",{"title":263,"_path":264},"Modèle de taxes de vente et frais","/dokos/ventes/taxes",{"title":266,"_path":267},"Abonnements","/dokos/ventes/abonnements",{"title":269,"_path":270},"Partenaire commercial","/dokos/ventes/partenaire-commercial",{"title":272,"_path":273},"Code promotionnel","/dokos/ventes/code-promotionnel",{"title":275,"_path":276},"Vendeur","/dokos/ventes/commercial",{"title":278,"_path":279},"Demande de paiement","/dokos/ventes/demande-de-paiement",{"title":281,"_path":282},"Faq","/dokos/ventes/faq","i-ep-sell",{"title":285,"_path":286,"children":287,"icon":301},"Projets","/dokos/projets",[288,289,292,295,298],{"title":98,"_path":286},{"title":290,"_path":291},"Projet","/dokos/projets/projets",{"title":293,"_path":294},"Tâche","/dokos/projets/taches",{"title":296,"_path":297},"Feuille de temps","/dokos/projets/feuilles-de-temps",{"title":299,"_path":300},"Type d'activité","/dokos/projets/types-activite","i-eos-icons-project-outlined",{"title":303,"_path":304,"children":305,"icon":393},"Stocks","/dokos/stocks",[306,307,310,312,318,321,324,327,330,333,336,339,342,345,348,351,354,357,360,363,366,369,372,375,378,381,384,387,390],{"title":98,"_path":304},{"title":308,"_path":309},"Reçu d'achat","/dokos/stocks/recus-achats",{"title":281,"_path":311},"/dokos/stocks/faq",{"title":199,"_path":313,"children":314},"/dokos/stocks/rapports",[315],{"title":316,"_path":317},"Solde du stock","/dokos/stocks/rapports/solde-du-stock",{"title":319,"_path":320},"Remise supplémentaire","/dokos/stocks/applying-discount",{"title":322,"_path":323},"N° de Lot","/dokos/stocks/batch",{"title":325,"_path":326},"Bordereau de colis","/dokos/stocks/bordereau-colis",{"title":328,"_path":329},"Bon de livraison","/dokos/stocks/delivery-note",{"title":331,"_path":332},"Demande de matériel","/dokos/stocks/demande-materiel",{"title":334,"_path":335},"Ensemble de produit","/dokos/stocks/ensembles-de-produits",{"title":337,"_path":338},"Fabricant","/dokos/stocks/fabricant",{"title":340,"_path":341},"Attribut d'article","/dokos/stocks/item-attribute",{"title":343,"_path":344},"Groupe d'article","/dokos/stocks/item-group",{"title":346,"_path":347},"Informations sur les articles","/dokos/stocks/item-info",{"title":349,"_path":350},"Variantes d'article","/dokos/stocks/item-variants",{"title":352,"_path":353},"Stock d'ouverture","/dokos/stocks/opening-stock",{"title":355,"_path":356},"Retour d'achat","/dokos/stocks/purchase-return",{"title":358,"_path":359},"Inspection de la qualité","/dokos/stocks/quality-inspection",{"title":361,"_path":362},"Règle de livraison","/dokos/stocks/regle-de-livraison",{"title":364,"_path":365},"Règles de prix","/dokos/stocks/regles-de-prix",{"title":367,"_path":368},"Conservation du stock d'échantillons","/dokos/stocks/retain-sample-stock",{"title":370,"_path":371},"Retour des ventes","/dokos/stocks/sales-return",{"title":373,"_path":374},"Schéma promotionnel","/dokos/stocks/schemas-promotionnels",{"title":376,"_path":377},"Numéro de série","/dokos/stocks/serial-no",{"title":379,"_path":380},"Écriture de stock","/dokos/stocks/stock-entry",{"title":382,"_path":383},"Rapport sur le niveau de stock","/dokos/stocks/stock-level-report",{"title":385,"_path":386},"Paramètres de stock","/dokos/stocks/stock-settings",{"title":388,"_path":389},"Unité de mesure (UDM)","/dokos/stocks/uom",{"title":391,"_path":392},"Entrepôt","/dokos/stocks/warehouse","i-vaadin-stock",{"title":395,"_path":396,"children":397,"icon":438},"Production","/dokos/production",[398,399,402,405,411,414,417,420,423,426,429,432,435],{"title":98,"_path":396},{"title":400,"_path":401},"Paramètres de production","/dokos/production/parametres-de-production",{"title":403,"_path":404},"Introduction à la production","/dokos/production/demarrer",{"title":199,"_path":406,"children":407},"/dokos/production/rapports",[408],{"title":409,"_path":410},"Tableau de bord de production","/dokos/production/rapports/manufacturing",{"title":412,"_path":413},"Écriture de temps d'arrêt","/dokos/production/arret-de-production",{"title":415,"_path":416},"Carte de travail","/dokos/production/carte-travail",{"title":418,"_path":419},"Nomenclature","/dokos/production/nomenclature",{"title":421,"_path":422},"Opération","/dokos/production/operation",{"title":424,"_path":425},"Ordre de travail","/dokos/production/ordre-de-travail",{"title":427,"_path":428},"Plan de production","/dokos/production/plan-production",{"title":430,"_path":431},"Routage","/dokos/production/routage",{"title":433,"_path":434},"Sous-traitance","/dokos/production/sous-traitance",{"title":436,"_path":437},"Station de travail","/dokos/production/station-de-travail","i-fluent-manufacturer-24-regular",{"title":440,"_path":441,"children":442,"icon":466},"Qualité","/dokos/qualite",[443,445,448,451,454,457,460,463],{"title":444,"_path":441},"Gestion de la qualité",{"title":446,"_path":447},"Action de qualité","/dokos/qualite/action-de-qualite",{"title":449,"_path":450},"Non-conformité","/dokos/qualite/non-conformite",{"title":452,"_path":453},"Objectif de qualité","/dokos/qualite/objectif-de-qualite",{"title":455,"_path":456},"Procédure de qualité","/dokos/qualite/procedure-de-qualite",{"title":458,"_path":459},"Retours de qualité","/dokos/qualite/retour-experience-qualite",{"title":461,"_path":462},"Réunion qualité","/dokos/qualite/reunion-de-qualite",{"title":464,"_path":465},"Revue de la qualité","/dokos/qualite/revue-de-qualite","i-carbon-rule-data-quality",{"title":468,"_path":469,"children":470,"icon":490},"Support","/dokos/support",[471,472,475,478,481,484,487],{"title":98,"_path":469},{"title":473,"_path":474},"Paramètres du support","/dokos/support/parametres-du-support",{"title":476,"_path":477},"Ticket","/dokos/support/ticket",{"title":479,"_path":480},"Échéancier d'entretien","/dokos/support/calendrier-de-maintenance",{"title":482,"_path":483},"Accord de niveau de service","/dokos/support/garantie-de-niveau-de-service",{"title":485,"_path":486},"Réclamation de garantie","/dokos/support/garantie",{"title":488,"_path":489},"Visite d'entretien","/dokos/support/visites-de-maintenance","i-ri-customer-service-2-line",{"title":492,"_path":493,"children":494,"icon":737},"Ressources Humaines","/dokos/hrms",[495,497,500,512,515,550,603,622,625,651,654,719,723],{"title":496,"_path":493,"icon":10},"Bienvenue",{"title":498,"_path":499},"Paramètres RH","/dokos/hrms/parametres-rh",{"title":12,"_path":501,"children":502},"/dokos/hrms/parametrage",[503,506,509],{"title":504,"_path":505},"Département","/dokos/hrms/parametrage/departement",{"title":507,"_path":508},"Branche","/dokos/hrms/parametrage/branche",{"title":510,"_path":511},"Désignation","/dokos/hrms/parametrage/poste",{"title":513,"_path":514},"Évaluations","/dokos/hrms/evaluations",{"title":516,"_path":517,"children":518},"Quarts et présences","/dokos/hrms/quarts-et-presences",[519,520,523,526,529,532,535,538,541,544,547],{"title":516,"_path":517},{"title":521,"_path":522},"Gestion des présences","/dokos/hrms/quarts-et-presences/attendance",{"title":524,"_path":525},"Demande de validation de présence","/dokos/hrms/quarts-et-presences/attendance-request",{"title":527,"_path":528},"Outil de gestion des présences des employés","/dokos/hrms/quarts-et-presences/employee-attendance-tool",{"title":530,"_path":531},"Enregistrement des employés","/dokos/hrms/quarts-et-presences/employee-checkin",{"title":533,"_path":534},"Outil de présence des employés","/dokos/hrms/quarts-et-presences/employment-attendance-tool",{"title":536,"_path":537},"Affectation de quart","/dokos/hrms/quarts-et-presences/shift-assignment",{"title":539,"_path":540},"Sélection de quart","/dokos/hrms/quarts-et-presences/shift-request",{"title":542,"_path":543},"Type de quart","/dokos/hrms/quarts-et-presences/shift-type",{"title":545,"_path":546},"Plan de dotation","/dokos/hrms/quarts-et-presences/staffing-plan",{"title":548,"_path":549},"Outil de chargement de présence","/dokos/hrms/quarts-et-presences/upload-attendance",{"title":551,"_path":552,"children":553},"Cycle de vie des employés","/dokos/hrms/cycle-de-vie",[554,555,558,561,564,567,570,573,576,579,582,585,588,591,594,597,600],{"title":551,"_path":552},{"title":556,"_path":557},"Chauffeur","/dokos/hrms/cycle-de-vie/driver",{"title":559,"_path":560},"Employé","/dokos/hrms/cycle-de-vie/employee",{"title":562,"_path":563},"Échelon de l'employé","/dokos/hrms/cycle-de-vie/employee-grade",{"title":565,"_path":566},"Groupe d'employés","/dokos/hrms/cycle-de-vie/employee-group",{"title":568,"_path":569},"Assurance maladie des employés","/dokos/hrms/cycle-de-vie/employee-health-insurance",{"title":571,"_path":572},"Promotion des employés","/dokos/hrms/cycle-de-vie/employee-promotion",{"title":574,"_path":575},"Départ des employés","/dokos/hrms/cycle-de-vie/employee-separation",{"title":577,"_path":578},"Carte des compétences des employés","/dokos/hrms/cycle-de-vie/employee-skill-map",{"title":580,"_path":581},"Transfert des employés","/dokos/hrms/cycle-de-vie/employee-transfer",{"title":583,"_path":584},"Type d'emploi","/dokos/hrms/cycle-de-vie/employment-type",{"title":586,"_path":587},"Événement de la formation","/dokos/hrms/cycle-de-vie/training-event",{"title":589,"_path":590},"Programme de formation","/dokos/hrms/cycle-de-vie/training-program",{"title":592,"_path":593},"Résultat de la formation","/dokos/hrms/cycle-de-vie/training-result",{"title":595,"_path":596},"Demande de déplacement","/dokos/hrms/cycle-de-vie/travel-request",{"title":598,"_path":599},"Véhicule","/dokos/hrms/cycle-de-vie/vehicle",{"title":601,"_path":602},"Journal du véhicule","/dokos/hrms/cycle-de-vie/vehicle-log",{"title":604,"_path":605,"children":606},"Recrutement","/dokos/hrms/recrutement",[607,610,613,616,619],{"title":608,"_path":609},"Entretiens","/dokos/hrms/recrutement/job-interview",{"title":611,"_path":612},"Candidatures et recommandations","/dokos/hrms/recrutement/job-applicant",{"title":614,"_path":615},"Promesse d'embauche et proposition de poste","/dokos/hrms/recrutement/job-offer",{"title":617,"_path":618},"Offre d'emploi","/dokos/hrms/recrutement/job-opening",{"title":620,"_path":621},"Gestion des plans de dotation et des demandes de création de poste","/dokos/hrms/recrutement/staffing-plan",{"title":623,"_path":624},"Notes de frais","/dokos/hrms/notes-de-frais",{"title":626,"_path":627,"children":628},"Congés","/dokos/hrms/conges",[629,630,633,636,639,642,645,648],{"title":626,"_path":627},{"title":631,"_path":632},"Paramètres des congés","/dokos/hrms/conges/parametres-des-conges",{"title":634,"_path":635},"Allocation de congé","/dokos/hrms/conges/allocation-conges",{"title":637,"_path":638},"Demande de congé","/dokos/hrms/conges/demande-conges",{"title":640,"_path":641},"Demande de congé compensatoire","/dokos/hrms/conges/conges-compensatoires",{"title":643,"_path":644},"Période de congés","/dokos/hrms/conges/periode-conges",{"title":646,"_path":647},"Politique de congés","/dokos/hrms/conges/politique-conges",{"title":649,"_path":650},"Congés accumulés à encaisser","/dokos/hrms/conges/encaissement-conges",{"title":652,"_path":653},"Application mobile RH","/dokos/hrms/application-mobile-rh",{"title":655,"_path":656,"children":657},"Paie","/dokos/hrms/paie",[658,659,662,665,668,671,674,677,680,683,686,689,692,695,698,701,704,707,710,713,716],{"title":655,"_path":656},{"title":660,"_path":661},"Salaire supplémentaire","/dokos/hrms/paie/additional-salary",{"title":663,"_path":664},"Avance versées aux employés","/dokos/hrms/paie/employee-advance",{"title":666,"_path":667},"Demande d'avantages sociaux","/dokos/hrms/paie/employee-benefit-application",{"title":669,"_path":670},"Requête d'avantages sociaux","/dokos/hrms/paie/employee-benefit-claim",{"title":672,"_path":673},"Intéressement des employés","/dokos/hrms/paie/employee-incentive",{"title":675,"_path":676},"Autres revenus de l'employé","/dokos/hrms/paie/employee-other-income",{"title":678,"_path":679},"Catégorie d'exonération fiscale des employés","/dokos/hrms/paie/employee-tax-exemption-category",{"title":681,"_path":682},"Déclaration d'exemption de taxe","/dokos/hrms/paie/employee-tax-exemption-declaration",{"title":684,"_path":685},"Soumission d'une preuve d'exemption de taxe","/dokos/hrms/paie/employee-tax-exemption-proof-submission",{"title":687,"_path":688},"Sous-catégorie d'exonération de taxe","/dokos/hrms/paie/employee-tax-exemption-sub-category",{"title":690,"_path":691},"Tranche d'impôt sur le revenu","/dokos/hrms/paie/income-tax-slab",{"title":693,"_path":694},"Entrée de la paie","/dokos/hrms/paie/payroll-entry",{"title":696,"_path":697},"Gestion de la paie","/dokos/hrms/paie/payroll-intro",{"title":699,"_path":700},"Période de paie","/dokos/hrms/paie/payroll-period",{"title":702,"_path":703},"Paramètres de Paie","/dokos/hrms/paie/payroll-settings",{"title":705,"_path":706},"Prime de fidélisation","/dokos/hrms/paie/retention-bonus",{"title":708,"_path":709},"Composante salariale","/dokos/hrms/paie/salary-component",{"title":711,"_path":712},"Fiche de paie","/dokos/hrms/paie/salary-slip",{"title":714,"_path":715},"Grille des salaires","/dokos/hrms/paie/salary-structure",{"title":717,"_path":718},"Attribution de la structure salariale","/dokos/hrms/paie/salary-structure-assignment",{"title":720,"_path":721,"icon":722},"API","/dokos/hrms/api","i-carbon-api-1",{"title":724,"_path":725,"children":726},"Versions","/dokos/hrms/versions",[727],{"title":728,"_path":729,"children":730},"Version 4","/dokos/hrms/versions/v2.x.x",[731,734],{"title":732,"_path":733},"v2.0.0","/dokos/hrms/versions/v2.x.x/v2_0_0",{"title":735,"_path":736},"v2.1.0","/dokos/hrms/versions/v2.x.x/v2_1_0","i-mdi-human-capacity-increase",{"title":739,"_path":740,"children":741,"icon":793},"Lieu","/dokos/lieu",[742,744,747,758,761,764,767,770,773,776,790],{"title":743,"_path":740},"Gestion d'un lieu",{"title":745,"_path":746},"Paramètres du lieu","/dokos/lieu/parametres-lieu",{"title":748,"_path":749,"children":750},"Réservations","/dokos/lieu/reservations",[751,752,755],{"title":748,"_path":749},{"title":753,"_path":754},"Réservations de ressources","/dokos/lieu/reservations/reservations-articles",{"title":756,"_path":757},"Contrats","/dokos/lieu/reservations/contrats-bookings",{"title":759,"_path":760},"Crédits de réservation","/dokos/lieu/credit-reservation",{"title":762,"_path":763},"Événements","/dokos/lieu/evenements",{"title":765,"_path":766},"Poste d'événement","/dokos/lieu/poste-evenement",{"title":768,"_path":769},"Badges","/dokos/lieu/badges",{"title":771,"_path":772},"Abonnements et réservations limitées","/dokos/lieu/abonnement-reservation",{"title":774,"_path":775},"Gestion de lieux multiples","/dokos/lieu/multi-societe",{"title":777,"_path":778,"children":779},"Portail utilisateur","/dokos/lieu/portails",[780,781,784,787],{"title":777,"_path":778},{"title":782,"_path":783},"Formulaire Inscription Lieu","/dokos/lieu/portails/formulaire-inscription-lieu",{"title":785,"_path":786},"Trombinoscope","/dokos/lieu/portails/trombinoscope",{"title":788,"_path":789},"Formulaire d'adhésion à une association","/dokos/lieu/portails/formulaire-adhesion",{"title":791,"_path":792},"Exemple de cas d'usage","/dokos/lieu/cas-usage","i-material-symbols-location-on-outline-rounded",{"title":795,"_path":796,"children":797,"icon":805},"Portail & eCommerce","/dokos/e-commerce",[798,799,802],{"title":98,"_path":796},{"title":800,"_path":801},"Site e-commerce","/dokos/e-commerce/parametres",{"title":803,"_path":804},"Portail","/dokos/e-commerce/portal-settings","i-gg-website",{"title":807,"_path":808,"children":809,"icon":821},"Chantiers","/dokos/chantiers",[810,812,815,818],{"title":811,"_path":808},"Gestion de chantiers",{"title":813,"_path":814},"Vue Chantiers dédiée pour les tables d'articles","/dokos/chantiers/vue-chantiers",{"title":816,"_path":817},"Factures de situation","/dokos/chantiers/factures-situation",{"title":819,"_path":820},"Outils","/dokos/chantiers/outils","i-healthicons-construction-worker",{"title":823,"_path":824,"children":825,"icon":874},"Intégrations","/dokos/integrations",[826,829,832,835,838,841,844,847,850,853,856,859,862,865,868,871],{"title":827,"_path":824,"icon":828},"Intégrations Dokos","i-mdi-star-outline",{"title":830,"_path":831},"Intégration Agicap","/dokos/integrations/agicap",{"title":833,"_path":834},"Amazon MWS","/dokos/integrations/amazon-mws",{"title":836,"_path":837},"Amazon S3","/dokos/integrations/amazon-s3",{"title":839,"_path":840},"Discord","/dokos/integrations/discord",{"title":842,"_path":843},"Dropbox","/dokos/integrations/dropbox",{"title":845,"_path":846},"Google","/dokos/integrations/google",{"title":848,"_path":849},"Google Agenda","/dokos/integrations/google-calendar",{"title":851,"_path":852},"Google Chat","/dokos/integrations/google-chat",{"title":854,"_path":855},"Google Contacts","/dokos/integrations/google-contacts",{"title":857,"_path":858},"Google Drive","/dokos/integrations/google-drive",{"title":860,"_path":861},"Mattermost","/dokos/integrations/mattermost",{"title":863,"_path":864},"Rocket Chat","/dokos/integrations/rocket-chat",{"title":866,"_path":867},"Shopify","/dokos/integrations/shopify",{"title":869,"_path":870},"Slack","/dokos/integrations/slack",{"title":872,"_path":873},"Zapier","/dokos/integrations/zapier","i-mdi-connection",{"title":876,"_path":877,"children":878,"icon":897},"Cas d'usage","/dokos/cas-usage",[879,882,885,888,891,894],{"title":880,"_path":881},"Ajouter / Masquer un champ dans un formulaire","/dokos/cas-usage/customization-form",{"title":883,"_path":884},"Ajouter un champ -- Statut envoi d'email","/dokos/cas-usage/email-sent",{"title":886,"_path":887},"Exonération de TVA","/dokos/cas-usage/exemption-vat",{"title":889,"_path":890},"Rapports SQL","/dokos/cas-usage/query-report",{"title":892,"_path":893},"Revue de Presse","/dokos/cas-usage/revue-de-presse",{"title":895,"_path":896},"Rapport de type Script","/dokos/cas-usage/script-report","i-iconoir-cinema-old",{"title":899,"_path":900,"icon":901},"Tutoriels en vidéo","/dokos/tutoriels","i-ic-round-ondemand-video",{"title":903,"_path":904,"icon":905},"Comparaison entre Dokos et ERPNext","/dokos/comparaison-erpnext","i-mdi-vector-difference",{"title":724,"_path":907,"children":908,"icon":1113},"/dokos/versions",[909,921,1033,1094],{"title":728,"_path":910,"children":911},"/dokos/versions/v4.x.x",[912,915,918],{"title":913,"_path":914},"v4.0.0","/dokos/versions/v4.x.x/v4_0_0",{"title":916,"_path":917},"v4.1.0","/dokos/versions/v4.x.x/v4_1_0",{"title":919,"_path":920},"v4.2.0","/dokos/versions/v4.x.x/v4_2_0",{"title":922,"_path":923,"children":924},"Version 3","/dokos/versions/v3.x.x",[925,928,931,934,937,940,943,946,949,952,955,958,961,964,967,970,973,976,979,982,985,988,991,994,997,1000,1003,1006,1009,1012,1015,1018,1021,1024,1027,1030],{"title":926,"_path":927},"v3.0.0","/dokos/versions/v3.x.x/v3_0_0",{"title":929,"_path":930},"v3.1.0","/dokos/versions/v3.x.x/v3_1_0",{"title":932,"_path":933},"v3.2.0","/dokos/versions/v3.x.x/v3_2_0",{"title":935,"_path":936},"v3.3.0","/dokos/versions/v3.x.x/v3_3_0",{"title":938,"_path":939},"v3.4.0","/dokos/versions/v3.x.x/v3_4_0",{"title":941,"_path":942},"v3.5.0","/dokos/versions/v3.x.x/v3_5_0",{"title":944,"_path":945},"v3.6.0","/dokos/versions/v3.x.x/v3_6_0",{"title":947,"_path":948},"v3.7.0","/dokos/versions/v3.x.x/v3_7_0",{"title":950,"_path":951},"v3.8.0","/dokos/versions/v3.x.x/v3_8_0",{"title":953,"_path":954},"v3.9.0","/dokos/versions/v3.x.x/v3_9_0",{"title":956,"_path":957},"v3.10.0","/dokos/versions/v3.x.x/v3_10_0",{"title":959,"_path":960},"v3.11.0","/dokos/versions/v3.x.x/v3_11_0",{"title":962,"_path":963},"v3.12.0","/dokos/versions/v3.x.x/v3_12_0",{"title":965,"_path":966},"v3.13.0","/dokos/versions/v3.x.x/v3_13_0",{"title":968,"_path":969},"v3.14.0","/dokos/versions/v3.x.x/v3_14_0",{"title":971,"_path":972},"v3.15.0","/dokos/versions/v3.x.x/v3_15_0",{"title":974,"_path":975},"v3.16.0","/dokos/versions/v3.x.x/v3_16_0",{"title":977,"_path":978},"v3.17.0","/dokos/versions/v3.x.x/v3_17_0",{"title":980,"_path":981},"v3.18.0","/dokos/versions/v3.x.x/v3_18_0",{"title":983,"_path":984},"v3.19.0","/dokos/versions/v3.x.x/v3_19_0",{"title":986,"_path":987},"v3.20.0","/dokos/versions/v3.x.x/v3_20_0",{"title":989,"_path":990},"v3.21.0","/dokos/versions/v3.x.x/v3_21_0",{"title":992,"_path":993},"v3.22.0","/dokos/versions/v3.x.x/v3_22_0",{"title":995,"_path":996},"v3.23.0","/dokos/versions/v3.x.x/v3_23_0",{"title":998,"_path":999},"v3.24.0","/dokos/versions/v3.x.x/v3_24_0",{"title":1001,"_path":1002},"v3.25.0","/dokos/versions/v3.x.x/v3_25_0",{"title":1004,"_path":1005},"v3.26.0","/dokos/versions/v3.x.x/v3_26_0",{"title":1007,"_path":1008},"v3.27.0","/dokos/versions/v3.x.x/v3_27_0",{"title":1010,"_path":1011},"v3.28.0","/dokos/versions/v3.x.x/v3_28_0",{"title":1013,"_path":1014},"v3.29.0","/dokos/versions/v3.x.x/v3_29_0",{"title":1016,"_path":1017},"v3.30.0","/dokos/versions/v3.x.x/v3_30_0",{"title":1019,"_path":1020},"v3.31.0","/dokos/versions/v3.x.x/v3_31_0",{"title":1022,"_path":1023},"v3.32.0","/dokos/versions/v3.x.x/v3_32_0",{"title":1025,"_path":1026},"v3.33.0","/dokos/versions/v3.x.x/v3_33_0",{"title":1028,"_path":1029},"v3.34.0","/dokos/versions/v3.x.x/v3_34_0",{"title":1031,"_path":1032},"v3.35.0","/dokos/versions/v3.x.x/v3_35_0",{"title":1034,"_path":1035,"children":1036},"Version 2","/dokos/versions/v2.x.x",[1037,1040,1043,1046,1049,1052,1055,1058,1061,1064,1067,1070,1073,1076,1079,1082,1085,1088,1091],{"title":1038,"_path":1039},"V2.0.0","/dokos/versions/v2.x.x/v2_0_0",{"title":1041,"_path":1042},"V2.1.0","/dokos/versions/v2.x.x/v2_1_0",{"title":1044,"_path":1045},"V2.2.0","/dokos/versions/v2.x.x/v2_2_0",{"title":1047,"_path":1048},"V2.3.0","/dokos/versions/v2.x.x/v2_3_0",{"title":1050,"_path":1051},"V2.4.0","/dokos/versions/v2.x.x/v2_4_0",{"title":1053,"_path":1054},"V2.5.0","/dokos/versions/v2.x.x/v2_5_0",{"title":1056,"_path":1057},"V2.6.0","/dokos/versions/v2.x.x/v2_6_0",{"title":1059,"_path":1060},"V2.7.0","/dokos/versions/v2.x.x/v2_7_0",{"title":1062,"_path":1063},"V2.8.0","/dokos/versions/v2.x.x/v2_8_0",{"title":1065,"_path":1066},"V2.9.0","/dokos/versions/v2.x.x/v2_9_0",{"title":1068,"_path":1069},"V2.10.0","/dokos/versions/v2.x.x/v2_10_0",{"title":1071,"_path":1072},"V2.11.0","/dokos/versions/v2.x.x/v2_11_0",{"title":1074,"_path":1075},"V2.12.0","/dokos/versions/v2.x.x/v2_12_0",{"title":1077,"_path":1078},"V2.13.0","/dokos/versions/v2.x.x/v2_13_0",{"title":1080,"_path":1081},"V2.14.0","/dokos/versions/v2.x.x/v2_14_0",{"title":1083,"_path":1084},"V2.15.0","/dokos/versions/v2.x.x/v2_15_0",{"title":1086,"_path":1087},"V2.16.0","/dokos/versions/v2.x.x/v2_16_0",{"title":1089,"_path":1090},"V2.17.0","/dokos/versions/v2.x.x/v2_17_0",{"title":1092,"_path":1093},"V2.18.0","/dokos/versions/v2.x.x/v2_18_0",{"title":1095,"_path":1096,"children":1097},"Version 1","/dokos/versions/v1.x.x",[1098,1101,1104,1107,1110],{"title":1099,"_path":1100},"v1.0.0","/dokos/versions/v1.x.x/v1_0_0",{"title":1102,"_path":1103},"v1.1.0","/dokos/versions/v1.x.x/v1_1_0",{"title":1105,"_path":1106},"v1.2.0","/dokos/versions/v1.x.x/v1_2_0",{"title":1108,"_path":1109},"v1.3.0","/dokos/versions/v1.x.x/v1_3_0",{"title":1111,"_path":1112},"v1.4.0","/dokos/versions/v1.x.x/v1_4_0","i-system-uicons-versions",{"title":720,"_path":1115,"icon":722},"/dokos/api",{"title":1117,"_path":1118,"children":1119},"Généralités","/dokos/generalites",[1120,1121,1124,1127,1130,1133,1136,1139,1142,1145],{"title":1117,"_path":1118},{"title":1122,"_path":1123},"Les outils pratiques","/dokos/generalites/administration_outils_pratiques",{"title":1125,"_path":1126},"Les documents","/dokos/generalites/les_documents",{"title":1128,"_path":1129},"Les espaces de travail","/dokos/generalites/les_espaces_de_travail",{"title":1131,"_path":1132},"Les outils diagnostic","/dokos/generalites/les_outils_diagnostic",{"title":1134,"_path":1135},"Les paramètres systèmes","/dokos/generalites/les_parametres_systemes",{"title":1137,"_path":1138},"Les utilisateurs","/dokos/generalites/les_utilisateurs",{"title":1140,"_path":1141},"Personnalisation de l'interface","/dokos/generalites/personnaliser_l_interface",{"title":1143,"_path":1144},"La gestion des utilisateurs","/dokos/generalites/roles_et_autorisations",{"title":1146,"_path":1147},"Le tableau de bord Administratif","/dokos/generalites/tableau_de_bord_administratif","i-ic-twotone-area-chart",{"title":1150,"_path":1151,"children":1152,"icon":1482},"Framework","/dodock",[1153,1154,1158,1187,1226,1483,1582,1595,1778],{"title":496,"_path":1151,"icon":10},{"title":1155,"_path":1156,"icon":1157},"Architecture","/dodock/architecture","i-icon-park-outline-building-four",{"title":1159,"_path":1160,"children":1161,"icon":1186},"Installation","/dodock/installation",[1162,1163,1166,1169,1172],{"title":1159,"_path":1160},{"title":1164,"_path":1165},"Installation standard","/dodock/installation/manuelle",{"title":1167,"_path":1168},"Installation Docker","/dodock/installation/docker",{"title":1170,"_path":1171},"Installation Ubuntu 22","/dodock/installation/ubuntu-22",{"title":1173,"_path":1174,"children":1175,"icon":1185},"Plus de méthodes","/dodock/installation/plus",[1176,1179,1182],{"title":1177,"_path":1178},"Docker personnalisé","/dodock/installation/plus/docker-personnalise",{"title":1180,"_path":1181},"Installation sur RHEL","/dodock/installation/plus/installation-rhel-8-9",{"title":1183,"_path":1184},"Installation par script","/dodock/installation/plus/script-bash","i-icon-park-outline-add-four","i-icon-park-outline-install",{"title":1188,"_path":1189,"children":1190,"icon":1225},"Administration","/dodock/administration",[1191,1192,1195,1198,1201,1204,1207,1210,1213,1216,1219,1222],{"title":1188,"_path":1189},{"title":1193,"_path":1194},"Bench","/dodock/administration/bench",{"title":1196,"_path":1197},"Multi-tenant","/dodock/administration/domaine",{"title":1199,"_path":1200},"Installer une application","/dodock/administration/installer-une-application",{"title":1202,"_path":1203},"Mises à jour","/dodock/administration/mises-a-jour",{"title":1205,"_path":1206},"Configuration des emails","/dodock/administration/emails",{"title":1208,"_path":1209},"Certificat SSL","/dodock/administration/certificat",{"title":1211,"_path":1212},"Migrer vers la version 3 de Dokos","/dodock/administration/migration-v3",{"title":1214,"_path":1215},"Migrer vers la version 4 de Dokos","/dodock/administration/migration-v4",{"title":1217,"_path":1218},"Migrer vers la version 5 de Dokos","/dodock/administration/migration-v5",{"title":1220,"_path":1221},"Migrer depuis ERPNext","/dodock/administration/migration-erpnext",{"title":1223,"_path":1224},"Commandes","/dodock/administration/commandes","i-clarity-administrator-line",{"title":1227,"_path":1228,"children":1229,"icon":1482},"Fonctionnalités","/dodock/fonctionnalites",[1230,1232,1262,1264,1298,1332,1362,1396,1412,1415,1435,1458,1461,1463,1466],{"title":1231,"_path":1228},"Fonctionnalités de base",{"title":1233,"_path":1234,"children":1235},"Utilisateurs","/dodock/fonctionnalites/utilisateurs",[1236,1238,1241,1244,1247,1250,1253,1256,1259],{"title":1233,"_path":1237},"/dodock/fonctionnalites/utilisateurs/utilisateurs",{"title":1239,"_path":1240},"Rôle et profil de rôle","/dodock/fonctionnalites/utilisateurs/roles",{"title":1242,"_path":1243},"Autorisations basées sur les rôles","/dodock/fonctionnalites/utilisateurs/role-et-autorisations",{"title":1245,"_path":1246},"Autorisations des utilisateurs","/dodock/fonctionnalites/utilisateurs/autorisations-utilisateur",{"title":1248,"_path":1249},"Autorisation de rôle pour la page et le rapport","/dodock/fonctionnalites/utilisateurs/autorisations-pages-rapports",{"title":1251,"_path":1252},"Administrateur","/dodock/fonctionnalites/utilisateurs/administrateur",{"title":1254,"_path":1255},"Configurer l'authentification à double facteur","/dodock/fonctionnalites/utilisateurs/2fa",{"title":1257,"_path":1258},"Partager un document","/dodock/fonctionnalites/utilisateurs/partager-un-document",{"title":1260,"_path":1261},"Utilisateur limité","/dodock/fonctionnalites/utilisateurs/utilisateurs-limites",{"title":85,"_path":1263},"/dodock/fonctionnalites/workflows",{"title":1265,"_path":1266,"children":1267},"Personnalisations","/dodock/fonctionnalites/personnalisations",[1268,1271,1274,1277,1280,1283,1286,1289,1292,1295],{"title":1269,"_path":1270},"Personnalisation des documents","/dodock/fonctionnalites/personnalisations/doctype",{"title":1272,"_path":1273},"Workspaces","/dodock/fonctionnalites/personnalisations/workspaces",{"title":1275,"_path":1276},"Tableau de bord","/dodock/fonctionnalites/personnalisations/dashboard",{"title":1278,"_path":1279},"Scripts Python","/dodock/fonctionnalites/personnalisations/server_script",{"title":1281,"_path":1282},"Scripts Client","/dodock/fonctionnalites/personnalisations/client_script",{"title":1284,"_path":1285},"Modèles Jinja","/dodock/fonctionnalites/personnalisations/jinja_templates",{"title":1287,"_path":1288},"Packages","/dodock/fonctionnalites/personnalisations/packages",{"title":1290,"_path":1291},"Vue du Calendrier","/dodock/fonctionnalites/personnalisations/vue-calendrier",{"title":1293,"_path":1294},"Traductions personnalisées","/dodock/fonctionnalites/personnalisations/traductions-personnalisees",{"title":1296,"_path":1297},"Paquets","/dodock/fonctionnalites/personnalisations/paquets",{"title":819,"_path":1299,"children":1300},"/dodock/fonctionnalites/outils",[1301,1304,1307,1309,1312,1315,1317,1320,1323,1326,1329],{"title":1302,"_path":1303},"Liste à faire","/dodock/fonctionnalites/outils/todo",{"title":1305,"_path":1306},"Notes","/dodock/fonctionnalites/outils/note",{"title":762,"_path":1308},"/dodock/fonctionnalites/outils/evenement",{"title":1310,"_path":1311},"Fichier","/dodock/fonctionnalites/outils/fichier",{"title":1313,"_path":1314},"Groupe Email","/dodock/fonctionnalites/outils/groupe-email",{"title":239,"_path":1316},"/dodock/fonctionnalites/outils/newsletter",{"title":1318,"_path":1319},"Répétition automatique","/dodock/fonctionnalites/outils/repetition-automatique",{"title":1321,"_path":1322},"Regle Attribution","/dodock/fonctionnalites/outils/regle-attribution",{"title":1324,"_path":1325},"Jalons","/dodock/fonctionnalites/outils/jalons",{"title":1327,"_path":1328},"Mise à jour en masse","/dodock/fonctionnalites/outils/mise-a-jour-en-masse",{"title":1330,"_path":1331},"Points d'énergie","/dodock/fonctionnalites/outils/points-energie",{"title":1333,"_path":1334,"children":1335},"Site Web","/dodock/fonctionnalites/site-web",[1336,1339,1342,1345,1348,1351,1354,1357,1359],{"title":1337,"_path":1338},"Paramètres du site web","/dodock/fonctionnalites/site-web/parametres-site-web",{"title":1340,"_path":1341},"Page web","/dodock/fonctionnalites/site-web/page-web",{"title":1343,"_path":1344},"Thème du site web","/dodock/fonctionnalites/site-web/theme-site-web",{"title":1346,"_path":1347},"Formulaires web","/dodock/fonctionnalites/site-web/formulaire-web",{"title":1349,"_path":1350},"Pages \"À Propos\" et \"Formulaire de Contact\"","/dodock/fonctionnalites/site-web/pages-standard",{"title":1352,"_path":1353},"Blog","/dodock/fonctionnalites/site-web/blog",{"title":1355,"_path":1356},"Articles Aide","/dodock/fonctionnalites/site-web/articles-aide",{"title":803,"_path":1358},"/dodock/fonctionnalites/site-web/portail",{"title":1360,"_path":1361},"Donnees Personnelles","/dodock/fonctionnalites/site-web/donnees-personnelles",{"title":1363,"_path":1364,"children":1365},"Bureau","/dodock/fonctionnalites/bureau",[1366,1369,1381,1384,1387,1390,1393],{"title":1367,"_path":1368},"Espaces Travail","/dodock/fonctionnalites/bureau/espaces-travail",{"title":1370,"_path":1371,"children":1372},"Tableaux de bord","/dodock/fonctionnalites/bureau/tableaux-de-bord",[1373,1375,1378],{"title":1275,"_path":1374},"/dodock/fonctionnalites/bureau/tableaux-de-bord/vue-tableau-bord",{"title":1376,"_path":1377},"Graphiques Tableau Bord","/dodock/fonctionnalites/bureau/tableaux-de-bord/graphiques-tableau-bord",{"title":1379,"_path":1380},"Cartes Statistiques","/dodock/fonctionnalites/bureau/tableaux-de-bord/cartes-statistiques",{"title":1382,"_path":1383},"Onboarding","/dodock/fonctionnalites/bureau/onboarding",{"title":1385,"_path":1386},"Vue Calendrier","/dodock/fonctionnalites/bureau/vue-calendrier",{"title":1388,"_path":1389},"Console Systeme","/dodock/fonctionnalites/bureau/console-systeme",{"title":1391,"_path":1392},"Cartes de résumé","/dodock/fonctionnalites/bureau/carte-de-resume",{"title":1394,"_path":1395},"Visites Guidées","/dodock/fonctionnalites/bureau/visites-guidees",{"title":1397,"_path":1398,"children":1399},"Adresses & Contacts","/dodock/fonctionnalites/contacts-adresses",[1400,1403,1406,1409],{"title":1401,"_path":1402},"Contact","/dodock/fonctionnalites/contacts-adresses/contacts",{"title":1404,"_path":1405},"Genres","/dodock/fonctionnalites/contacts-adresses/genres",{"title":1407,"_path":1408},"Salutation","/dodock/fonctionnalites/contacts-adresses/salutation",{"title":1410,"_path":1411},"Adresses","/dodock/fonctionnalites/contacts-adresses/addresses",{"title":1413,"_path":1414},"Référentiel","/dodock/fonctionnalites/referentiel-pays-et-devises",{"title":1416,"_path":1417,"children":1418},"Impressions","/dodock/fonctionnalites/impression",[1419,1420,1423,1426,1429,1432],{"title":1416,"_path":1417},{"title":1421,"_path":1422},"Formats d'impression","/dodock/fonctionnalites/impression/format-impression",{"title":1424,"_path":1425},"En-tête de lettre","/dodock/fonctionnalites/impression/en-tete",{"title":1427,"_path":1428},"Paramètres d'impression","/dodock/fonctionnalites/impression/parametres-impression",{"title":1430,"_path":1431},"Style d'impression","/dodock/fonctionnalites/impression/style-impression",{"title":1433,"_path":1434},"Impression Brute","/dodock/fonctionnalites/impression/impression-brute",{"title":823,"_path":1436,"children":1437},"/dodock/fonctionnalites/integrations",[1438,1439,1442,1445,1448,1451,1453,1456],{"title":823,"_path":1436},{"title":1440,"_path":1441},"Oauth","/dodock/fonctionnalites/integrations/oauth",{"title":1443,"_path":1444},"Connecteurs Sociaux","/dodock/fonctionnalites/integrations/connecteurs-sociaux",{"title":1446,"_path":1447},"Ldap","/dodock/fonctionnalites/integrations/ldap",{"title":1449,"_path":1450},"Demandes Integrations","/dodock/fonctionnalites/integrations/demandes-integrations",{"title":845,"_path":1452},"/dodock/fonctionnalites/integrations/google",{"title":1454,"_path":1455},"S3","/dodock/fonctionnalites/integrations/s3",{"title":842,"_path":1457},"/dodock/fonctionnalites/integrations/dropbox",{"title":1459,"_path":1460},"Webhooks","/dodock/fonctionnalites/webhooks",{"title":76,"_path":1462},"/dodock/fonctionnalites/notifications",{"title":1464,"_path":1465},"Nommage des Documents","/dodock/fonctionnalites/nommage",{"title":1467,"_path":1468,"children":1469},"Concepts","/dodock/fonctionnalites/concepts",[1470,1473,1476,1479],{"title":1471,"_path":1472},"Espace de travail","/dodock/fonctionnalites/concepts/espace-de-travail",{"title":1474,"_path":1475},"Page","/dodock/fonctionnalites/concepts/page",{"title":1477,"_path":1478},"Rapport","/dodock/fonctionnalites/concepts/rapport",{"title":1480,"_path":1481},"Type De Document","/dodock/fonctionnalites/concepts/type-de-document","i-carbon-container-software",{"title":1484,"_path":1485,"children":1486,"icon":1581},"Développement","/dodock/ressources",[1487,1541,1552,1563,1571,1578],{"title":720,"_path":1488,"children":1489},"/dodock/ressources/api",[1490,1493,1496,1499,1502,1538],{"title":1491,"_path":1492},"API de documents","/dodock/ressources/api/document_api",{"title":1494,"_path":1495},"API Base de données","/dodock/ressources/api/database_api",{"title":1497,"_path":1498},"API Rest","/dodock/ressources/api/rest_api",{"title":1500,"_path":1501},"API Jinja","/dodock/ressources/api/jinja_api",{"title":1503,"_path":1504,"children":1505},"Exemples","/dodock/ressources/api/exemples",[1506,1509,1512,1515,1518,1521,1524,1527,1529,1532,1535],{"title":1507,"_path":1508},"Créer une réservation d'article via l'API avec Postman","/dodock/ressources/api/exemples/order_item",{"title":1510,"_path":1511},"Créer une commande client via l'API avec Postman","/dodock/ressources/api/exemples/make_order",{"title":1513,"_path":1514},"Contacts","/dodock/ressources/api/exemples/get_contact_list",{"title":1516,"_path":1517},"Récupérer la liste des contacts et adresses associées à un client","/dodock/ressources/api/exemples/get-contacts-addresses",{"title":1519,"_path":1520},"Créer une réservation d'article via l'API","/dodock/ressources/api/exemples/item-booking-call",{"title":1522,"_path":1523},"Python Database API","/dodock/ressources/api/exemples/python-database-api",{"title":1525,"_path":1526},"Python Documents API","/dodock/ressources/api/exemples/python-documents-api",{"title":1500,"_path":1528},"/dodock/ressources/api/exemples/python-jinja-api",{"title":1530,"_path":1531},"Table of content","/dodock/ressources/api/exemples/readme",{"title":1533,"_path":1534},"REST API","/dodock/ressources/api/exemples/rest-api",{"title":1536,"_path":1537},"Création d'une commande client via l'API","/dodock/ressources/api/exemples/sales-order-call",{"title":1539,"_path":1540,"icon":722},"Ressources","/dodock/ressources/api/ressources",{"title":1467,"_path":1542,"children":1543},"/dodock/ressources/concepts",[1544,1547,1549],{"title":1545,"_path":1546},"Type de document","/dodock/ressources/concepts/doctype",{"title":1284,"_path":1548},"/dodock/ressources/concepts/modeles-jinja",{"title":1550,"_path":1551},"Scripts serveur Python","/dodock/ressources/concepts/scripts-python",{"title":1553,"_path":1554,"children":1555},"Champs (DocField)","/dodock/ressources/docfield",[1556,1559],{"title":1557,"_path":1558},"Joindre/Joindre une image","/dodock/ressources/docfield/attach",{"title":1560,"_path":1561,"icon":1562},"Tous les DocFields","/dodock/ressources/docfield/frappe","i-mdi-arrow-up-right",{"title":1564,"_path":1565,"children":1566},"Applications personnalisées","/dodock/ressources/custom-app",[1567,1568],{"title":1564,"_path":1565},{"title":1569,"_path":1570},"Champs additionels","/dodock/ressources/custom-app/custom-fields",{"title":1572,"_path":1573,"children":1574},"Questions fréquentes","/dodock/ressources/faq",[1575],{"title":1576,"_path":1577},"Filtres","/dodock/ressources/faq/filtres",{"title":1579,"_path":1580},"Frappe","/dodock/ressources/frappe","i-heroicons-code-bracket-16-solid",{"title":1583,"_path":1584,"children":1585,"icon":1594},"Contribuer","/dodock/contribuer",[1586,1588,1591],{"title":1587,"_path":1584},"Un logiciel Open-source",{"title":1589,"_path":1590},"Traductions","/dodock/contribuer/traductions",{"title":1592,"_path":1593},"Documentation","/dodock/contribuer/documentation","i-mdi-open-source-initiative",{"title":724,"_path":1596,"children":1597,"icon":1113},"/dodock/versions",[1598,1613,1730,1765],{"title":728,"_path":1599,"children":1600},"/dodock/versions/v4.x.x",[1601,1603,1605,1607,1610],{"title":913,"_path":1602},"/dodock/versions/v4.x.x/v4_0_0",{"title":916,"_path":1604},"/dodock/versions/v4.x.x/v4_1_0",{"title":919,"_path":1606},"/dodock/versions/v4.x.x/v4_2_0",{"title":1608,"_path":1609},"v4.3.0","/dodock/versions/v4.x.x/v4_3_0",{"title":1611,"_path":1612},"v4.4.0","/dodock/versions/v4.x.x/v4_4_0",{"title":922,"_path":1614,"children":1615},"/dodock/versions/v3.x.x",[1616,1619,1622,1625,1628,1631,1634,1637,1640,1643,1646,1649,1652,1655,1658,1661,1664,1667,1670,1673,1676,1679,1682,1685,1688,1691,1694,1697,1700,1703,1706,1709,1712,1715,1718,1721,1724,1727],{"title":1617,"_path":1618},"V3.0.0","/dodock/versions/v3.x.x/v3_0_0",{"title":1620,"_path":1621},"V3.1.0","/dodock/versions/v3.x.x/v3_1_0",{"title":1623,"_path":1624},"V3.2.0","/dodock/versions/v3.x.x/v3_2_0",{"title":1626,"_path":1627},"V3.3.0","/dodock/versions/v3.x.x/v3_3_0",{"title":1629,"_path":1630},"V3.4.0","/dodock/versions/v3.x.x/v3_4_0",{"title":1632,"_path":1633},"V3.5.0","/dodock/versions/v3.x.x/v3_5_0",{"title":1635,"_path":1636},"V3.6.0","/dodock/versions/v3.x.x/v3_6_0",{"title":1638,"_path":1639},"V3.7.0","/dodock/versions/v3.x.x/v3_7_0",{"title":1641,"_path":1642},"V3.8.0","/dodock/versions/v3.x.x/v3_8_0",{"title":1644,"_path":1645},"V3.9.0","/dodock/versions/v3.x.x/v3_9_0",{"title":1647,"_path":1648},"V3.10.0","/dodock/versions/v3.x.x/v3_10_0",{"title":1650,"_path":1651},"V3.11.0","/dodock/versions/v3.x.x/v3_11_0",{"title":1653,"_path":1654},"V3.12.0","/dodock/versions/v3.x.x/v3_12_0",{"title":1656,"_path":1657},"V3.13.0","/dodock/versions/v3.x.x/v3_13_0",{"title":1659,"_path":1660},"V3.14.0","/dodock/versions/v3.x.x/v3_14_0",{"title":1662,"_path":1663},"V3.15.0","/dodock/versions/v3.x.x/v3_15_0",{"title":1665,"_path":1666},"V3.16.0","/dodock/versions/v3.x.x/v3_16_0",{"title":1668,"_path":1669},"V3.17.0","/dodock/versions/v3.x.x/v3_17_0",{"title":1671,"_path":1672},"V3.18.0","/dodock/versions/v3.x.x/v3_18_0",{"title":1674,"_path":1675},"V3.19.0","/dodock/versions/v3.x.x/v3_19_0",{"title":1677,"_path":1678},"V3.20.0","/dodock/versions/v3.x.x/v3_20_0",{"title":1680,"_path":1681},"V3.21.0","/dodock/versions/v3.x.x/v3_21_0",{"title":1683,"_path":1684},"V3.22.0","/dodock/versions/v3.x.x/v3_22_0",{"title":1686,"_path":1687},"V3.23.0","/dodock/versions/v3.x.x/v3_23_0",{"title":1689,"_path":1690},"V3.24.0","/dodock/versions/v3.x.x/v3_24_0",{"title":1692,"_path":1693},"V3.25.0","/dodock/versions/v3.x.x/v3_25_0",{"title":1695,"_path":1696},"V3.26.0","/dodock/versions/v3.x.x/v3_26_0",{"title":1698,"_path":1699},"V3.27.0","/dodock/versions/v3.x.x/v3_27_0",{"title":1701,"_path":1702},"V3.28.0","/dodock/versions/v3.x.x/v3_28_0",{"title":1704,"_path":1705},"V3.29.0","/dodock/versions/v3.x.x/v3_29_0",{"title":1707,"_path":1708},"V3.30.0","/dodock/versions/v3.x.x/v3_30_0",{"title":1710,"_path":1711},"V3.31.0","/dodock/versions/v3.x.x/v3_31_0",{"title":1713,"_path":1714},"V3.32.0","/dodock/versions/v3.x.x/v3_32_0",{"title":1716,"_path":1717},"V3.33.0","/dodock/versions/v3.x.x/v3_33_0",{"title":1719,"_path":1720},"V3.34.0","/dodock/versions/v3.x.x/v3_34_0",{"title":1722,"_path":1723},"V3.35.0","/dodock/versions/v3.x.x/v3_35_0",{"title":1725,"_path":1726},"V3.36.0","/dodock/versions/v3.x.x/v3_36_0",{"title":1728,"_path":1729},"V3.37.0","/dodock/versions/v3.x.x/v3_37_0",{"title":1034,"_path":1731,"children":1732},"/dodock/versions/v2.x.x",[1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763],{"title":1038,"_path":1734},"/dodock/versions/v2.x.x/v2_0_0",{"title":1041,"_path":1736},"/dodock/versions/v2.x.x/v2_1_0",{"title":1044,"_path":1738},"/dodock/versions/v2.x.x/v2_2_0",{"title":1047,"_path":1740},"/dodock/versions/v2.x.x/v2_3_0",{"title":1050,"_path":1742},"/dodock/versions/v2.x.x/v2_4_0",{"title":1053,"_path":1744},"/dodock/versions/v2.x.x/v2_5_0",{"title":1056,"_path":1746},"/dodock/versions/v2.x.x/v2_6_0",{"title":1059,"_path":1748},"/dodock/versions/v2.x.x/v2_7_0",{"title":1062,"_path":1750},"/dodock/versions/v2.x.x/v2_8_0",{"title":1065,"_path":1752},"/dodock/versions/v2.x.x/v2_9_0",{"title":1068,"_path":1754},"/dodock/versions/v2.x.x/v2_10_0",{"title":1071,"_path":1756},"/dodock/versions/v2.x.x/v2_11_0",{"title":1077,"_path":1758},"/dodock/versions/v2.x.x/v2_13_0",{"title":1080,"_path":1760},"/dodock/versions/v2.x.x/v2_14_0",{"title":1083,"_path":1762},"/dodock/versions/v2.x.x/v2_15_0",{"title":1086,"_path":1764},"/dodock/versions/v2.x.x/v2_16_0",{"title":1095,"_path":1766,"children":1767},"/dodock/versions/v1.x.x",[1768,1770,1772,1774,1776],{"title":1099,"_path":1769},"/dodock/versions/v1.x.x/v1_0_0",{"title":1102,"_path":1771},"/dodock/versions/v1.x.x/v1_1_0",{"title":1105,"_path":1773},"/dodock/versions/v1.x.x/v1_2_0",{"title":1108,"_path":1775},"/dodock/versions/v1.x.x/v1_3_0",{"title":1111,"_path":1777},"/dodock/versions/v1.x.x/v1_4_0",{"title":1779,"_path":1780,"children":1781,"icon":1784},"Ecosystème Frappe","/dodock/frappe-products",[1782,1785,1789,1793,1796,1799,1802,1805,1808],{"title":1783,"_path":1780,"icon":1784},"Applications et compatibilité","i-icon-park-outline-reverse-rotation",{"title":1786,"_path":1787,"icon":1788},"Frappe Builder","/dodock/frappe-products/builder","i-icon-park-outline-application-two",{"title":1790,"_path":1791,"icon":1792},"Frappe CRM","/dodock/frappe-products/crm","flowbite:chart-solid",{"title":1794,"_path":1795},"Frappe Helpdesk","/dodock/frappe-products/helpdesk",{"title":1797,"_path":1798},"Frappe Insights","/dodock/frappe-products/insights",{"title":1800,"_path":1801},"Frappe Learning","/dodock/frappe-products/learning",{"title":1803,"_path":1804},"Print Designer","/dodock/frappe-products/print-designer",{"title":1806,"_path":1807},"Frappe Wiki","/dodock/frappe-products/wiki",{"title":1809,"_path":1810},"Raven","/dodock/frappe-products/raven",{"title":823,"_path":1812,"children":1813,"icon":874},"/integrations",[1814,1815,1854,1875,1907,1927,1943,1946],{"title":823,"_path":1812},{"title":1816,"_path":1817,"children":1818,"icon":1853},"Paiements","/integrations/payments",[1819,1821,1825,1829,1833,1837,1840,1842],{"title":1820,"_path":1817},"Payments",{"title":1822,"_path":1823,"icon":1824},"Stripe","/integrations/payments/stripe","i-fa6-brands-cc-stripe",{"title":1826,"_path":1827,"icon":1828},"Paypal","/integrations/payments/paypal","i-fa6-brands-cc-paypal",{"title":1830,"_path":1831,"icon":1832},"GoCardless","/integrations/payments/gocardless","i-simple-icons-sepa",{"title":1834,"_path":1835,"icon":1836},"Stancer","/integrations/payments/stancer","i-simple-icons-contactlesspayment",{"title":1838,"_path":1839,"icon":1836},"HelloAsso","/integrations/payments/helloasso",{"title":720,"_path":1841,"icon":722},"/integrations/payments/api",{"title":724,"_path":1843,"children":1844,"icon":1113},"/integrations/payments/versions",[1845],{"title":1095,"_path":1846,"children":1847},"/integrations/payments/versions/v1.x.x",[1848,1851],{"title":1849,"_path":1850},"v1.0.1","/integrations/payments/versions/v1.x.x/v1_0_0",{"title":1102,"_path":1852},"/integrations/payments/versions/v1.x.x/v1_1_0","i-fluent-payment-20-filled",{"title":1855,"_path":1856,"children":1857,"icon":1874},"Signature Electronique","/integrations/esignature",[1858,1860,1864,1866],{"title":1859,"_path":1856},"eSignature",{"title":1861,"_path":1862,"icon":1863},"Adobe Sign","/integrations/esignature/adobe-sign","i-ic-outline-adobe",{"title":720,"_path":1865,"icon":722},"/integrations/esignature/api",{"title":724,"_path":1867,"children":1868,"icon":1113},"/integrations/esignature/versions",[1869],{"title":1095,"_path":1870,"children":1871},"/integrations/esignature/versions/v1.x.x",[1872],{"title":1099,"_path":1873},"/integrations/esignature/versions/v1.x.x/v1_0_0","i-fluent-signature-20-filled",{"title":1876,"_path":1877,"children":1878,"icon":1906},"WooCommerce","/integrations/woocommerce",[1879,1880,1882,1885,1887],{"title":98,"_path":1877},{"title":12,"_path":1881},"/integrations/woocommerce/woocommerce_settings",{"title":1883,"_path":1884},"WooCommerce Bookings","/integrations/woocommerce/woocommerce-bookings",{"title":720,"_path":1886,"icon":722},"/integrations/woocommerce/api",{"title":724,"_path":1888,"children":1889,"icon":1113},"/integrations/woocommerce/versions",[1890],{"title":1095,"_path":1891,"children":1892},"/integrations/woocommerce/versions/v1.x.x",[1893,1895,1897,1899,1901,1903],{"title":1099,"_path":1894},"/integrations/woocommerce/versions/v1.x.x/v1_0_0",{"title":1102,"_path":1896},"/integrations/woocommerce/versions/v1.x.x/v1_1_0",{"title":1105,"_path":1898},"/integrations/woocommerce/versions/v1.x.x/v1_2_0",{"title":1108,"_path":1900},"/integrations/woocommerce/versions/v1.x.x/v1_3_0",{"title":1111,"_path":1902},"/integrations/woocommerce/versions/v1.x.x/v1_4_0",{"title":1904,"_path":1905},"v1.5.0","/integrations/woocommerce/versions/v1.x.x/v1_5_0","i-devicon-plain-woocommerce",{"title":1908,"_path":1909,"children":1910,"icon":1926},"Hiboutik","/integrations/hiboutik",[1911,1912,1914],{"title":1908,"_path":1909},{"title":720,"_path":1913,"icon":722},"/integrations/hiboutik/api",{"title":724,"_path":1915,"children":1916,"icon":1113},"/integrations/hiboutik/versions",[1917],{"title":1095,"_path":1918,"children":1919},"/integrations/hiboutik/versions/v1.x.x",[1920,1922,1924],{"title":1099,"_path":1921},"/integrations/hiboutik/versions/v1.x.x/v1_0_0",{"title":1102,"_path":1923},"/integrations/hiboutik/versions/v1.x.x/v1_1_0",{"title":1105,"_path":1925},"/integrations/hiboutik/versions/v1.x.x/v1_2_0","i-material-symbols-point-of-sale-rounded",{"title":1928,"_path":1929,"children":1930,"icon":1942},"Banques","/integrations/banks",[1931,1934,1938],{"title":1932,"_path":1929,"icon":1933},"Open Banking","i-fluent-building-bank-16-filled",{"title":1935,"_path":1936,"icon":1937},"Bank","/integrations/banks/bank","i-fluent-building-bank-toolbox-24-regular",{"title":1939,"_path":1940,"icon":1941},"Bank API","/integrations/banks/bank-api","i-fluent-building-bank-link-16-filled","i-fa6-solid-bridge-lock",{"title":872,"_path":1944,"icon":1945},"/integrations/zapier","i-cib-zapier",{"title":1947,"_path":1948,"children":1949,"icon":1952},"Extraction de données","/integrations/extraction-donnees",[1950],{"title":1951,"_path":1948},"Extraction de données (OCR)","i-mdi-ocr",{"title":1954,"_path":1955,"children":1956,"icon":1978},"Badge inter-lieux","/federation-lieux",[1957,1959,1968],{"title":1958,"_path":1955},"Badge Inter-Lieux",{"title":1960,"_path":1961,"children":1962},"Fédération","/federation-lieux/federation-de-lieux",[1963,1966],{"title":1964,"_path":1965},"Annuaire","/federation-lieux/federation-de-lieux/annuaire",{"title":720,"_path":1967},"/federation-lieux/federation-de-lieux/api",{"title":1969,"_path":1970,"children":1971},"Lieux","/federation-lieux/lieux",[1972,1975],{"title":1973,"_path":1974},"Lieux utilisant Dokos","/federation-lieux/lieux/application-dokos",{"title":1976,"_path":1977},"Participation sans Dokos","/federation-lieux/lieux/autres-applications","i-material-symbols-add-location-alt-outline",{"title":1980,"_path":1981,"children":1982,"icon":2070},"Toobibpro","/toobibpro",[1983,1984,1987,2000,2019,2043,2052,2055,2058,2061,2064,2067],{"title":496,"_path":1981,"icon":10},{"title":1985,"_path":1986},"Démarrer rapidement","/toobibpro/demarrer-rapidement",{"title":1988,"_path":1989,"children":1990},"Dossiers","/toobibpro/dossiers",[1991,1994,1997],{"title":1992,"_path":1993},"La consultation de grossesse","/toobibpro/dossiers/consultation-grossesse",{"title":1995,"_path":1996},"Le dossier de grossesse","/toobibpro/dossiers/dossier-grossesse",{"title":1998,"_path":1999},"Le dossier patient·e","/toobibpro/dossiers/dossier-patiente",{"title":2001,"_path":2002,"children":2003},"Rendez Vous","/toobibpro/rendez-vous",[2004,2007,2010,2013,2016],{"title":2005,"_path":2006},"Comment vos patientes prennent-elles rendez-vous ?","/toobibpro/rendez-vous/comment-vos-patientes-prennent-rendez-vous",{"title":2008,"_path":2009},"Configurer la plateforme de prise de rendez-vous en ligne","/toobibpro/rendez-vous/configurer-la-plateforme-en-ligne",{"title":2011,"_path":2012},"Créer des ateliers","/toobibpro/rendez-vous/creer-des-ateliers",{"title":2014,"_path":2015},"Donner accès à votre plateforme en ligne à vos patientes","/toobibpro/rendez-vous/donner-acces-a-vos-patientes",{"title":2017,"_path":2018},"Prendre un rendez-vous","/toobibpro/rendez-vous/rendez-vous",{"title":2020,"_path":2021,"children":2022},"Gestion","/toobibpro/gestion",[2023,2025,2028,2031,2034,2037,2040],{"title":94,"_path":2024},"/toobibpro/gestion/achats",{"title":2026,"_path":2027},"Dépôt d'espèces","/toobibpro/gestion/depot-especes",{"title":2029,"_path":2030},"Enregistrer une recette","/toobibpro/gestion/enregistrer-une-recette",{"title":2032,"_path":2033},"Les codifications","/toobibpro/gestion/les-codifications",{"title":2035,"_path":2036},"Enregistrer un paiement","/toobibpro/gestion/paiements",{"title":2038,"_path":2039},"Prélèvements et apports personnels","/toobibpro/gestion/prelevement-apport-personnel",{"title":2041,"_path":2042},"Réconcilier un paiement avec son relevé bancaire","/toobibpro/gestion/reconciliation-bancaire",{"title":2044,"_path":2045,"children":2046},"Remplacements","/toobibpro/remplacements",[2047,2049],{"title":2044,"_path":2048},"/toobibpro/remplacements/remplacements",{"title":2050,"_path":2051},"Rétrocession d'Honoraires","/toobibpro/remplacements/retrocessions-honoraires",{"title":2053,"_path":2054},"Lettres Types","/toobibpro/lettres-types",{"title":2056,"_path":2057},"Modifier un champ existant","/toobibpro/modifier-un-champ-existant",{"title":2059,"_path":2060},"Les ordonnances","/toobibpro/ordonnances",{"title":2062,"_path":2063},"Personnaliser ses dossiers et fiches de consultation","/toobibpro/personnaliser-ses-dossiers-et-consultations",{"title":2065,"_path":2066},"Créer son site web","/toobibpro/site-web",{"title":2068,"_path":2069},"Synchronisation avec Google Agenda","/toobibpro/synchronisation_avec_google_agenda","i-healthicons-doctor-female-outline",{"_path":1551,"_dir":2072,"_draft":2073,"_partial":2073,"_locale":2074,"title":1550,"description":2075,"body":2076,"_type":5801,"_id":5802,"_source":5803,"_file":5804,"_extension":5805},"concepts",false,"fr","Un script serveur Python vous permet d'écrire un script exécuté sur le serveur et déclenché via un événement de document ou via un appel à l'API web",{"type":2077,"children":2078,"toc":5785},"root",[2079,2090,2097,2102,2162,2171,2177,2184,2189,2234,2240,2245,2294,2300,2313,2318,2329,2335,2340,3331,3337,3343,3352,3443,3449,3458,3527,3533,3541,3703,3709,3731,3795,3806,3812,3823,3828,3833,3838,5780],{"type":2080,"tag":2081,"props":2082,"children":2083},"element","p",{},[2084],{"type":2080,"tag":2085,"props":2086,"children":2087},"strong",{},[2088],{"type":2089,"value":2075},"text",{"type":2080,"tag":2091,"props":2092,"children":2094},"h2",{"id":2093},"_1-comment-créer-un-script-serveur-en-python",[2095],{"type":2089,"value":2096},"1. Comment créer un script serveur en Python",{"type":2080,"tag":2081,"props":2098,"children":2099},{},[2100],{"type":2089,"value":2101},"Pour créer un script serveur",{"type":2080,"tag":2103,"props":2104,"children":2105},"ol",{},[2106,2137,2147,2152,2157],{"type":2080,"tag":2107,"props":2108,"children":2109},"li",{},[2110,2112,2119,2121,2127,2129,2135],{"type":2089,"value":2111},"Vous devez ajouter la clé ",{"type":2080,"tag":2113,"props":2114,"children":2116},"code",{"className":2115},[],[2117],{"type":2089,"value":2118},"server_script_enabled",{"type":2089,"value":2120}," et la définir à ",{"type":2080,"tag":2113,"props":2122,"children":2124},{"className":2123},[],[2125],{"type":2089,"value":2126},"true",{"type":2089,"value":2128}," (ou ",{"type":2080,"tag":2113,"props":2130,"children":2132},{"className":2131},[],[2133],{"type":2089,"value":2134},"1",{"type":2089,"value":2136},") dans le fichier common_site_config.json du bench.",{"type":2080,"tag":2107,"props":2138,"children":2139},{},[2140,2142],{"type":2089,"value":2141},"Pour ajouter / modifier un script serveur, assurez-vous d'avoir le rôle ",{"type":2080,"tag":2085,"props":2143,"children":2144},{},[2145],{"type":2089,"value":2146},"Gestionnaire de script",{"type":2080,"tag":2107,"props":2148,"children":2149},{},[2150],{"type":2089,"value":2151},"Créez un nouveau script serveur via \"Nouveau script serveur\" dans la barre d'outils",{"type":2080,"tag":2107,"props":2153,"children":2154},{},[2155],{"type":2089,"value":2156},"Choisissez le type de script serveur (Evénement de document / API)",{"type":2080,"tag":2107,"props":2158,"children":2159},{},[2160],{"type":2089,"value":2161},"Choisissez le type de document de référence et le nom de l'événement, ou le nom de la méthode, ajoutez votre script et enregistrez.",{"type":2080,"tag":2163,"props":2164,"children":2165},"blockquote",{},[2166],{"type":2080,"tag":2081,"props":2167,"children":2168},{},[2169],{"type":2089,"value":2170},"Depuis 2024",{"type":2080,"tag":2091,"props":2172,"children":2174},{"id":2173},"_2-fonctionnalités",[2175],{"type":2089,"value":2176},"2. Fonctionnalités",{"type":2080,"tag":2178,"props":2179,"children":2181},"h3",{"id":2180},"_21-autoriser-les-scripts-serveur",[2182],{"type":2089,"value":2183},"2.1 Autoriser les scripts serveur",{"type":2080,"tag":2081,"props":2185,"children":2186},{},[2187],{"type":2089,"value":2188},"Les scripts serveur doivent être activés via le fichier common_site_config.json ou avec la ligne de commande suivante :",{"type":2080,"tag":2190,"props":2191,"children":2196},"pre",{"className":2192,"code":2193,"language":2194,"meta":2195,"style":2195},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bench set-config -g server_script_enabled true\n","sh","",[2197],{"type":2080,"tag":2113,"props":2198,"children":2199},{"__ignoreMap":2195},[2200],{"type":2080,"tag":2201,"props":2202,"children":2205},"span",{"class":2203,"line":2204},"line",1,[2206,2212,2218,2223,2228],{"type":2080,"tag":2201,"props":2207,"children":2209},{"style":2208},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[2210],{"type":2089,"value":2211},"bench",{"type":2080,"tag":2201,"props":2213,"children":2215},{"style":2214},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[2216],{"type":2089,"value":2217}," set-config",{"type":2080,"tag":2201,"props":2219,"children":2220},{"style":2214},[2221],{"type":2089,"value":2222}," -g",{"type":2080,"tag":2201,"props":2224,"children":2225},{"style":2214},[2226],{"type":2089,"value":2227}," server_script_enabled",{"type":2080,"tag":2201,"props":2229,"children":2231},{"style":2230},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[2232],{"type":2089,"value":2233}," true\n",{"type":2080,"tag":2178,"props":2235,"children":2237},{"id":2236},"_22-evénements-de-document",[2238],{"type":2089,"value":2239},"2.2 Evénements de document",{"type":2080,"tag":2081,"props":2241,"children":2242},{},[2243],{"type":2089,"value":2244},"Pour les scripts qui sont lancés via des événements de documents, vous devez définir le type de document de référence et nom de l'événement générateur",{"type":2080,"tag":2246,"props":2247,"children":2248},"ul",{},[2249,2254,2259,2264,2269,2274,2279,2284,2289],{"type":2080,"tag":2107,"props":2250,"children":2251},{},[2252],{"type":2089,"value":2253},"Avant l'insertion",{"type":2080,"tag":2107,"props":2255,"children":2256},{},[2257],{"type":2089,"value":2258},"Avant l'enregistrement",{"type":2080,"tag":2107,"props":2260,"children":2261},{},[2262],{"type":2089,"value":2263},"Après l'enregistrement",{"type":2080,"tag":2107,"props":2265,"children":2266},{},[2267],{"type":2089,"value":2268},"Avant la validation",{"type":2080,"tag":2107,"props":2270,"children":2271},{},[2272],{"type":2089,"value":2273},"Après la validation",{"type":2080,"tag":2107,"props":2275,"children":2276},{},[2277],{"type":2089,"value":2278},"Avant l'annulation",{"type":2080,"tag":2107,"props":2280,"children":2281},{},[2282],{"type":2089,"value":2283},"Après l'annulation",{"type":2080,"tag":2107,"props":2285,"children":2286},{},[2287],{"type":2089,"value":2288},"Avant la suppression",{"type":2080,"tag":2107,"props":2290,"children":2291},{},[2292],{"type":2089,"value":2293},"Après la suppression",{"type":2080,"tag":2178,"props":2295,"children":2297},{"id":2296},"_23-scripts-api",[2298],{"type":2089,"value":2299},"2.3 Scripts API",{"type":2080,"tag":2081,"props":2301,"children":2302},{},[2303,2305,2311],{"type":2089,"value":2304},"Vous pouvez créer une nouvelle API qui sera accessible via ",{"type":2080,"tag":2113,"props":2306,"children":2308},{"className":2307},[],[2309],{"type":2089,"value":2310},"/api/method/[methodname]",{"type":2089,"value":2312}," en sélectionnant le type de script \"API\"",{"type":2080,"tag":2081,"props":2314,"children":2315},{},[2316],{"type":2089,"value":2317},"Si vous voulez qu'un utilisateur invité (non connecté) accède à l'API, cochez la case \"Autoriser les invités\".",{"type":2080,"tag":2081,"props":2319,"children":2320},{},[2321,2323],{"type":2089,"value":2322},"La réponse sera envoyés dans un objet de type ",{"type":2080,"tag":2113,"props":2324,"children":2326},{"className":2325},[],[2327],{"type":2089,"value":2328},"frappe.response[\"message\"]",{"type":2080,"tag":2178,"props":2330,"children":2332},{"id":2331},"_23-securité",[2333],{"type":2089,"value":2334},"2.3 Securité",{"type":2080,"tag":2081,"props":2336,"children":2337},{},[2338],{"type":2089,"value":2339},"Dokos utilise la librairie RestrictedPython pour restreindre l'accès aux méthodes disponibles pour les scripts Python. Seules les méthodes sûres, listées ci-dessous sont disponibles dans les scripts serveur.",{"type":2080,"tag":2190,"props":2341,"children":2345},{"className":2342,"code":2343,"language":2344,"meta":2195,"style":2195},"language-py shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","json # module json\ndict # dict interne\n_ # méthode de traduction\n_dict # méthode interne frappe._dict\nfrappe.flags # flags globaux\n\n# FORMATTAGE\nfrappe.format_value # frappe.format_value(value, dict(fieldtype='Currency'))\nfrappe.date_format # format de date par défaut\nfrappe.format_date # retourne une date sous la forme \"1er septembre 2019\"\n\n# SESSION\nfrappe.form_dict # paramètres de requêtes / formulaires\nfrappe.request # objet de requête\nfrappe.response # objet de réponse\nfrappe.session.user # utilisateur actuel\nfrappe.session.csrf_token # jeton CSRF de la session en cours\nfrappe.user  # utilisateur actuel\nfrappe.get_fullname # nom complet de l'utilisateur actuel\nfrappe.get_gravatar # frappe.utils.get_gravatar_url\nfrappe.full_name = # nom complet de l'utilisateur actuel\n\n# ACCES AUX DONNEES\nfrappe.get_meta # obtenir l'objet de métadonnées\nfrappe.get_doc\nfrappe.get_cached_doc\nfrappe.get_list\nfrappe.get_all\nfrappe.get_system_settings\n\n# BASE DE DONNEE\nfrappe.db.get_list\nfrappe.db.get_all\nfrappe.db.get_value\nfrappe.db.get_single_value\nfrappe.db.get_default\nfrappe.db.escape\n\n# UTILITAIRES\nfrappe.msgprint # msgprint\nlog # création d'un log dans la console du navigateur\nfrappe.log_error # création d'un log d'erreur\nfrappe.get_hooks # hooks de l'application\nfrappe.utils # méthodes de frappe.utils\nfrappe.render_template # frappe.render_template,\nfrappe.get_url # frappe.utils.get_url\nfrappe.socketio_port # port pour socketio\nfrappe.sanitize_html # Assainissement du HTML\nstyle.border_color # '#d1d8dd'\nguess_mimetype = mimetypes.guess_type\nhtml2text = html2text\ndev_server # Vrai si en mode développeur\n","py",[2346],{"type":2080,"tag":2113,"props":2347,"children":2348},{"__ignoreMap":2195},[2349,2364,2378,2392,2406,2431,2441,2450,2472,2494,2516,2524,2533,2555,2577,2599,2630,2660,2681,2703,2725,2751,2759,2768,2790,2807,2824,2841,2858,2875,2883,2892,2917,2941,2966,2991,3016,3041,3049,3058,3080,3094,3116,3138,3160,3182,3204,3226,3248,3271,3299,3317],{"type":2080,"tag":2201,"props":2350,"children":2351},{"class":2203,"line":2204},[2352,2358],{"type":2080,"tag":2201,"props":2353,"children":2355},{"style":2354},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[2356],{"type":2089,"value":2357},"json ",{"type":2080,"tag":2201,"props":2359,"children":2361},{"style":2360},"--shiki-light:#90A4AE;--shiki-default:#546E7A;--shiki-dark:#676E95;--shiki-light-font-style:italic;--shiki-default-font-style:italic;--shiki-dark-font-style:italic",[2362],{"type":2089,"value":2363},"# module json\n",{"type":2080,"tag":2201,"props":2365,"children":2367},{"class":2203,"line":2366},2,[2368,2373],{"type":2080,"tag":2201,"props":2369,"children":2370},{"style":2208},[2371],{"type":2089,"value":2372},"dict",{"type":2080,"tag":2201,"props":2374,"children":2375},{"style":2360},[2376],{"type":2089,"value":2377}," # dict interne\n",{"type":2080,"tag":2201,"props":2379,"children":2381},{"class":2203,"line":2380},3,[2382,2387],{"type":2080,"tag":2201,"props":2383,"children":2384},{"style":2354},[2385],{"type":2089,"value":2386},"_ ",{"type":2080,"tag":2201,"props":2388,"children":2389},{"style":2360},[2390],{"type":2089,"value":2391},"# méthode de traduction\n",{"type":2080,"tag":2201,"props":2393,"children":2395},{"class":2203,"line":2394},4,[2396,2401],{"type":2080,"tag":2201,"props":2397,"children":2398},{"style":2354},[2399],{"type":2089,"value":2400},"_dict ",{"type":2080,"tag":2201,"props":2402,"children":2403},{"style":2360},[2404],{"type":2089,"value":2405},"# méthode interne frappe._dict\n",{"type":2080,"tag":2201,"props":2407,"children":2409},{"class":2203,"line":2408},5,[2410,2415,2420,2426],{"type":2080,"tag":2201,"props":2411,"children":2412},{"style":2354},[2413],{"type":2089,"value":2414},"frappe",{"type":2080,"tag":2201,"props":2416,"children":2417},{"style":2230},[2418],{"type":2089,"value":2419},".",{"type":2080,"tag":2201,"props":2421,"children":2423},{"style":2422},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[2424],{"type":2089,"value":2425},"flags",{"type":2080,"tag":2201,"props":2427,"children":2428},{"style":2360},[2429],{"type":2089,"value":2430}," # flags globaux\n",{"type":2080,"tag":2201,"props":2432,"children":2434},{"class":2203,"line":2433},6,[2435],{"type":2080,"tag":2201,"props":2436,"children":2438},{"emptyLinePlaceholder":2437},true,[2439],{"type":2089,"value":2440},"\n",{"type":2080,"tag":2201,"props":2442,"children":2444},{"class":2203,"line":2443},7,[2445],{"type":2080,"tag":2201,"props":2446,"children":2447},{"style":2360},[2448],{"type":2089,"value":2449},"# FORMATTAGE\n",{"type":2080,"tag":2201,"props":2451,"children":2453},{"class":2203,"line":2452},8,[2454,2458,2462,2467],{"type":2080,"tag":2201,"props":2455,"children":2456},{"style":2354},[2457],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2459,"children":2460},{"style":2230},[2461],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2463,"children":2464},{"style":2422},[2465],{"type":2089,"value":2466},"format_value",{"type":2080,"tag":2201,"props":2468,"children":2469},{"style":2360},[2470],{"type":2089,"value":2471}," # frappe.format_value(value, dict(fieldtype='Currency'))\n",{"type":2080,"tag":2201,"props":2473,"children":2475},{"class":2203,"line":2474},9,[2476,2480,2484,2489],{"type":2080,"tag":2201,"props":2477,"children":2478},{"style":2354},[2479],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2481,"children":2482},{"style":2230},[2483],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2485,"children":2486},{"style":2422},[2487],{"type":2089,"value":2488},"date_format",{"type":2080,"tag":2201,"props":2490,"children":2491},{"style":2360},[2492],{"type":2089,"value":2493}," # format de date par défaut\n",{"type":2080,"tag":2201,"props":2495,"children":2497},{"class":2203,"line":2496},10,[2498,2502,2506,2511],{"type":2080,"tag":2201,"props":2499,"children":2500},{"style":2354},[2501],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2503,"children":2504},{"style":2230},[2505],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2507,"children":2508},{"style":2422},[2509],{"type":2089,"value":2510},"format_date",{"type":2080,"tag":2201,"props":2512,"children":2513},{"style":2360},[2514],{"type":2089,"value":2515}," # retourne une date sous la forme \"1er septembre 2019\"\n",{"type":2080,"tag":2201,"props":2517,"children":2519},{"class":2203,"line":2518},11,[2520],{"type":2080,"tag":2201,"props":2521,"children":2522},{"emptyLinePlaceholder":2437},[2523],{"type":2089,"value":2440},{"type":2080,"tag":2201,"props":2525,"children":2527},{"class":2203,"line":2526},12,[2528],{"type":2080,"tag":2201,"props":2529,"children":2530},{"style":2360},[2531],{"type":2089,"value":2532},"# SESSION\n",{"type":2080,"tag":2201,"props":2534,"children":2536},{"class":2203,"line":2535},13,[2537,2541,2545,2550],{"type":2080,"tag":2201,"props":2538,"children":2539},{"style":2354},[2540],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2542,"children":2543},{"style":2230},[2544],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2546,"children":2547},{"style":2422},[2548],{"type":2089,"value":2549},"form_dict",{"type":2080,"tag":2201,"props":2551,"children":2552},{"style":2360},[2553],{"type":2089,"value":2554}," # paramètres de requêtes / formulaires\n",{"type":2080,"tag":2201,"props":2556,"children":2558},{"class":2203,"line":2557},14,[2559,2563,2567,2572],{"type":2080,"tag":2201,"props":2560,"children":2561},{"style":2354},[2562],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2564,"children":2565},{"style":2230},[2566],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2568,"children":2569},{"style":2422},[2570],{"type":2089,"value":2571},"request",{"type":2080,"tag":2201,"props":2573,"children":2574},{"style":2360},[2575],{"type":2089,"value":2576}," # objet de requête\n",{"type":2080,"tag":2201,"props":2578,"children":2580},{"class":2203,"line":2579},15,[2581,2585,2589,2594],{"type":2080,"tag":2201,"props":2582,"children":2583},{"style":2354},[2584],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2586,"children":2587},{"style":2230},[2588],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2590,"children":2591},{"style":2422},[2592],{"type":2089,"value":2593},"response",{"type":2080,"tag":2201,"props":2595,"children":2596},{"style":2360},[2597],{"type":2089,"value":2598}," # objet de réponse\n",{"type":2080,"tag":2201,"props":2600,"children":2602},{"class":2203,"line":2601},16,[2603,2607,2611,2616,2620,2625],{"type":2080,"tag":2201,"props":2604,"children":2605},{"style":2354},[2606],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2608,"children":2609},{"style":2230},[2610],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2612,"children":2613},{"style":2422},[2614],{"type":2089,"value":2615},"session",{"type":2080,"tag":2201,"props":2617,"children":2618},{"style":2230},[2619],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2621,"children":2622},{"style":2422},[2623],{"type":2089,"value":2624},"user",{"type":2080,"tag":2201,"props":2626,"children":2627},{"style":2360},[2628],{"type":2089,"value":2629}," # utilisateur actuel\n",{"type":2080,"tag":2201,"props":2631,"children":2633},{"class":2203,"line":2632},17,[2634,2638,2642,2646,2650,2655],{"type":2080,"tag":2201,"props":2635,"children":2636},{"style":2354},[2637],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2639,"children":2640},{"style":2230},[2641],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2643,"children":2644},{"style":2422},[2645],{"type":2089,"value":2615},{"type":2080,"tag":2201,"props":2647,"children":2648},{"style":2230},[2649],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2651,"children":2652},{"style":2422},[2653],{"type":2089,"value":2654},"csrf_token",{"type":2080,"tag":2201,"props":2656,"children":2657},{"style":2360},[2658],{"type":2089,"value":2659}," # jeton CSRF de la session en cours\n",{"type":2080,"tag":2201,"props":2661,"children":2663},{"class":2203,"line":2662},18,[2664,2668,2672,2676],{"type":2080,"tag":2201,"props":2665,"children":2666},{"style":2354},[2667],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2669,"children":2670},{"style":2230},[2671],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2673,"children":2674},{"style":2422},[2675],{"type":2089,"value":2624},{"type":2080,"tag":2201,"props":2677,"children":2678},{"style":2360},[2679],{"type":2089,"value":2680},"  # utilisateur actuel\n",{"type":2080,"tag":2201,"props":2682,"children":2684},{"class":2203,"line":2683},19,[2685,2689,2693,2698],{"type":2080,"tag":2201,"props":2686,"children":2687},{"style":2354},[2688],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2690,"children":2691},{"style":2230},[2692],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2694,"children":2695},{"style":2422},[2696],{"type":2089,"value":2697},"get_fullname",{"type":2080,"tag":2201,"props":2699,"children":2700},{"style":2360},[2701],{"type":2089,"value":2702}," # nom complet de l'utilisateur actuel\n",{"type":2080,"tag":2201,"props":2704,"children":2706},{"class":2203,"line":2705},20,[2707,2711,2715,2720],{"type":2080,"tag":2201,"props":2708,"children":2709},{"style":2354},[2710],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2712,"children":2713},{"style":2230},[2714],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2716,"children":2717},{"style":2422},[2718],{"type":2089,"value":2719},"get_gravatar",{"type":2080,"tag":2201,"props":2721,"children":2722},{"style":2360},[2723],{"type":2089,"value":2724}," # frappe.utils.get_gravatar_url\n",{"type":2080,"tag":2201,"props":2726,"children":2728},{"class":2203,"line":2727},21,[2729,2733,2737,2742,2747],{"type":2080,"tag":2201,"props":2730,"children":2731},{"style":2354},[2732],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2734,"children":2735},{"style":2230},[2736],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2738,"children":2739},{"style":2422},[2740],{"type":2089,"value":2741},"full_name",{"type":2080,"tag":2201,"props":2743,"children":2744},{"style":2230},[2745],{"type":2089,"value":2746}," =",{"type":2080,"tag":2201,"props":2748,"children":2749},{"style":2360},[2750],{"type":2089,"value":2702},{"type":2080,"tag":2201,"props":2752,"children":2754},{"class":2203,"line":2753},22,[2755],{"type":2080,"tag":2201,"props":2756,"children":2757},{"emptyLinePlaceholder":2437},[2758],{"type":2089,"value":2440},{"type":2080,"tag":2201,"props":2760,"children":2762},{"class":2203,"line":2761},23,[2763],{"type":2080,"tag":2201,"props":2764,"children":2765},{"style":2360},[2766],{"type":2089,"value":2767},"# ACCES AUX DONNEES\n",{"type":2080,"tag":2201,"props":2769,"children":2771},{"class":2203,"line":2770},24,[2772,2776,2780,2785],{"type":2080,"tag":2201,"props":2773,"children":2774},{"style":2354},[2775],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2777,"children":2778},{"style":2230},[2779],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2781,"children":2782},{"style":2422},[2783],{"type":2089,"value":2784},"get_meta",{"type":2080,"tag":2201,"props":2786,"children":2787},{"style":2360},[2788],{"type":2089,"value":2789}," # obtenir l'objet de métadonnées\n",{"type":2080,"tag":2201,"props":2791,"children":2793},{"class":2203,"line":2792},25,[2794,2798,2802],{"type":2080,"tag":2201,"props":2795,"children":2796},{"style":2354},[2797],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2799,"children":2800},{"style":2230},[2801],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2803,"children":2804},{"style":2422},[2805],{"type":2089,"value":2806},"get_doc\n",{"type":2080,"tag":2201,"props":2808,"children":2810},{"class":2203,"line":2809},26,[2811,2815,2819],{"type":2080,"tag":2201,"props":2812,"children":2813},{"style":2354},[2814],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2816,"children":2817},{"style":2230},[2818],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2820,"children":2821},{"style":2422},[2822],{"type":2089,"value":2823},"get_cached_doc\n",{"type":2080,"tag":2201,"props":2825,"children":2827},{"class":2203,"line":2826},27,[2828,2832,2836],{"type":2080,"tag":2201,"props":2829,"children":2830},{"style":2354},[2831],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2833,"children":2834},{"style":2230},[2835],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2837,"children":2838},{"style":2422},[2839],{"type":2089,"value":2840},"get_list\n",{"type":2080,"tag":2201,"props":2842,"children":2844},{"class":2203,"line":2843},28,[2845,2849,2853],{"type":2080,"tag":2201,"props":2846,"children":2847},{"style":2354},[2848],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2850,"children":2851},{"style":2230},[2852],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2854,"children":2855},{"style":2422},[2856],{"type":2089,"value":2857},"get_all\n",{"type":2080,"tag":2201,"props":2859,"children":2861},{"class":2203,"line":2860},29,[2862,2866,2870],{"type":2080,"tag":2201,"props":2863,"children":2864},{"style":2354},[2865],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2867,"children":2868},{"style":2230},[2869],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2871,"children":2872},{"style":2422},[2873],{"type":2089,"value":2874},"get_system_settings\n",{"type":2080,"tag":2201,"props":2876,"children":2878},{"class":2203,"line":2877},30,[2879],{"type":2080,"tag":2201,"props":2880,"children":2881},{"emptyLinePlaceholder":2437},[2882],{"type":2089,"value":2440},{"type":2080,"tag":2201,"props":2884,"children":2886},{"class":2203,"line":2885},31,[2887],{"type":2080,"tag":2201,"props":2888,"children":2889},{"style":2360},[2890],{"type":2089,"value":2891},"# BASE DE DONNEE\n",{"type":2080,"tag":2201,"props":2893,"children":2895},{"class":2203,"line":2894},32,[2896,2900,2904,2909,2913],{"type":2080,"tag":2201,"props":2897,"children":2898},{"style":2354},[2899],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2901,"children":2902},{"style":2230},[2903],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2905,"children":2906},{"style":2422},[2907],{"type":2089,"value":2908},"db",{"type":2080,"tag":2201,"props":2910,"children":2911},{"style":2230},[2912],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2914,"children":2915},{"style":2422},[2916],{"type":2089,"value":2840},{"type":2080,"tag":2201,"props":2918,"children":2920},{"class":2203,"line":2919},33,[2921,2925,2929,2933,2937],{"type":2080,"tag":2201,"props":2922,"children":2923},{"style":2354},[2924],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2926,"children":2927},{"style":2230},[2928],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2930,"children":2931},{"style":2422},[2932],{"type":2089,"value":2908},{"type":2080,"tag":2201,"props":2934,"children":2935},{"style":2230},[2936],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2938,"children":2939},{"style":2422},[2940],{"type":2089,"value":2857},{"type":2080,"tag":2201,"props":2942,"children":2944},{"class":2203,"line":2943},34,[2945,2949,2953,2957,2961],{"type":2080,"tag":2201,"props":2946,"children":2947},{"style":2354},[2948],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2950,"children":2951},{"style":2230},[2952],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2954,"children":2955},{"style":2422},[2956],{"type":2089,"value":2908},{"type":2080,"tag":2201,"props":2958,"children":2959},{"style":2230},[2960],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2962,"children":2963},{"style":2422},[2964],{"type":2089,"value":2965},"get_value\n",{"type":2080,"tag":2201,"props":2967,"children":2969},{"class":2203,"line":2968},35,[2970,2974,2978,2982,2986],{"type":2080,"tag":2201,"props":2971,"children":2972},{"style":2354},[2973],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":2975,"children":2976},{"style":2230},[2977],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2979,"children":2980},{"style":2422},[2981],{"type":2089,"value":2908},{"type":2080,"tag":2201,"props":2983,"children":2984},{"style":2230},[2985],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":2987,"children":2988},{"style":2422},[2989],{"type":2089,"value":2990},"get_single_value\n",{"type":2080,"tag":2201,"props":2992,"children":2994},{"class":2203,"line":2993},36,[2995,2999,3003,3007,3011],{"type":2080,"tag":2201,"props":2996,"children":2997},{"style":2354},[2998],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3000,"children":3001},{"style":2230},[3002],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3004,"children":3005},{"style":2422},[3006],{"type":2089,"value":2908},{"type":2080,"tag":2201,"props":3008,"children":3009},{"style":2230},[3010],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3012,"children":3013},{"style":2422},[3014],{"type":2089,"value":3015},"get_default\n",{"type":2080,"tag":2201,"props":3017,"children":3019},{"class":2203,"line":3018},37,[3020,3024,3028,3032,3036],{"type":2080,"tag":2201,"props":3021,"children":3022},{"style":2354},[3023],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3025,"children":3026},{"style":2230},[3027],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3029,"children":3030},{"style":2422},[3031],{"type":2089,"value":2908},{"type":2080,"tag":2201,"props":3033,"children":3034},{"style":2230},[3035],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3037,"children":3038},{"style":2422},[3039],{"type":2089,"value":3040},"escape\n",{"type":2080,"tag":2201,"props":3042,"children":3044},{"class":2203,"line":3043},38,[3045],{"type":2080,"tag":2201,"props":3046,"children":3047},{"emptyLinePlaceholder":2437},[3048],{"type":2089,"value":2440},{"type":2080,"tag":2201,"props":3050,"children":3052},{"class":2203,"line":3051},39,[3053],{"type":2080,"tag":2201,"props":3054,"children":3055},{"style":2360},[3056],{"type":2089,"value":3057},"# UTILITAIRES\n",{"type":2080,"tag":2201,"props":3059,"children":3061},{"class":2203,"line":3060},40,[3062,3066,3070,3075],{"type":2080,"tag":2201,"props":3063,"children":3064},{"style":2354},[3065],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3067,"children":3068},{"style":2230},[3069],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3071,"children":3072},{"style":2422},[3073],{"type":2089,"value":3074},"msgprint",{"type":2080,"tag":2201,"props":3076,"children":3077},{"style":2360},[3078],{"type":2089,"value":3079}," # msgprint\n",{"type":2080,"tag":2201,"props":3081,"children":3083},{"class":2203,"line":3082},41,[3084,3089],{"type":2080,"tag":2201,"props":3085,"children":3086},{"style":2354},[3087],{"type":2089,"value":3088},"log ",{"type":2080,"tag":2201,"props":3090,"children":3091},{"style":2360},[3092],{"type":2089,"value":3093},"# création d'un log dans la console du navigateur\n",{"type":2080,"tag":2201,"props":3095,"children":3097},{"class":2203,"line":3096},42,[3098,3102,3106,3111],{"type":2080,"tag":2201,"props":3099,"children":3100},{"style":2354},[3101],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3103,"children":3104},{"style":2230},[3105],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3107,"children":3108},{"style":2422},[3109],{"type":2089,"value":3110},"log_error",{"type":2080,"tag":2201,"props":3112,"children":3113},{"style":2360},[3114],{"type":2089,"value":3115}," # création d'un log d'erreur\n",{"type":2080,"tag":2201,"props":3117,"children":3119},{"class":2203,"line":3118},43,[3120,3124,3128,3133],{"type":2080,"tag":2201,"props":3121,"children":3122},{"style":2354},[3123],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3125,"children":3126},{"style":2230},[3127],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3129,"children":3130},{"style":2422},[3131],{"type":2089,"value":3132},"get_hooks",{"type":2080,"tag":2201,"props":3134,"children":3135},{"style":2360},[3136],{"type":2089,"value":3137}," # hooks de l'application\n",{"type":2080,"tag":2201,"props":3139,"children":3141},{"class":2203,"line":3140},44,[3142,3146,3150,3155],{"type":2080,"tag":2201,"props":3143,"children":3144},{"style":2354},[3145],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3147,"children":3148},{"style":2230},[3149],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3151,"children":3152},{"style":2422},[3153],{"type":2089,"value":3154},"utils",{"type":2080,"tag":2201,"props":3156,"children":3157},{"style":2360},[3158],{"type":2089,"value":3159}," # méthodes de frappe.utils\n",{"type":2080,"tag":2201,"props":3161,"children":3163},{"class":2203,"line":3162},45,[3164,3168,3172,3177],{"type":2080,"tag":2201,"props":3165,"children":3166},{"style":2354},[3167],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3169,"children":3170},{"style":2230},[3171],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3173,"children":3174},{"style":2422},[3175],{"type":2089,"value":3176},"render_template",{"type":2080,"tag":2201,"props":3178,"children":3179},{"style":2360},[3180],{"type":2089,"value":3181}," # frappe.render_template,\n",{"type":2080,"tag":2201,"props":3183,"children":3185},{"class":2203,"line":3184},46,[3186,3190,3194,3199],{"type":2080,"tag":2201,"props":3187,"children":3188},{"style":2354},[3189],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3191,"children":3192},{"style":2230},[3193],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3195,"children":3196},{"style":2422},[3197],{"type":2089,"value":3198},"get_url",{"type":2080,"tag":2201,"props":3200,"children":3201},{"style":2360},[3202],{"type":2089,"value":3203}," # frappe.utils.get_url\n",{"type":2080,"tag":2201,"props":3205,"children":3207},{"class":2203,"line":3206},47,[3208,3212,3216,3221],{"type":2080,"tag":2201,"props":3209,"children":3210},{"style":2354},[3211],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3213,"children":3214},{"style":2230},[3215],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3217,"children":3218},{"style":2422},[3219],{"type":2089,"value":3220},"socketio_port",{"type":2080,"tag":2201,"props":3222,"children":3223},{"style":2360},[3224],{"type":2089,"value":3225}," # port pour socketio\n",{"type":2080,"tag":2201,"props":3227,"children":3229},{"class":2203,"line":3228},48,[3230,3234,3238,3243],{"type":2080,"tag":2201,"props":3231,"children":3232},{"style":2354},[3233],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3235,"children":3236},{"style":2230},[3237],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3239,"children":3240},{"style":2422},[3241],{"type":2089,"value":3242},"sanitize_html",{"type":2080,"tag":2201,"props":3244,"children":3245},{"style":2360},[3246],{"type":2089,"value":3247}," # Assainissement du HTML\n",{"type":2080,"tag":2201,"props":3249,"children":3251},{"class":2203,"line":3250},49,[3252,3257,3261,3266],{"type":2080,"tag":2201,"props":3253,"children":3254},{"style":2354},[3255],{"type":2089,"value":3256},"style",{"type":2080,"tag":2201,"props":3258,"children":3259},{"style":2230},[3260],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3262,"children":3263},{"style":2422},[3264],{"type":2089,"value":3265},"border_color",{"type":2080,"tag":2201,"props":3267,"children":3268},{"style":2360},[3269],{"type":2089,"value":3270}," # '#d1d8dd'\n",{"type":2080,"tag":2201,"props":3272,"children":3274},{"class":2203,"line":3273},50,[3275,3280,3285,3290,3294],{"type":2080,"tag":2201,"props":3276,"children":3277},{"style":2354},[3278],{"type":2089,"value":3279},"guess_mimetype ",{"type":2080,"tag":2201,"props":3281,"children":3282},{"style":2230},[3283],{"type":2089,"value":3284},"=",{"type":2080,"tag":2201,"props":3286,"children":3287},{"style":2354},[3288],{"type":2089,"value":3289}," mimetypes",{"type":2080,"tag":2201,"props":3291,"children":3292},{"style":2230},[3293],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3295,"children":3296},{"style":2422},[3297],{"type":2089,"value":3298},"guess_type\n",{"type":2080,"tag":2201,"props":3300,"children":3302},{"class":2203,"line":3301},51,[3303,3308,3312],{"type":2080,"tag":2201,"props":3304,"children":3305},{"style":2354},[3306],{"type":2089,"value":3307},"html2text ",{"type":2080,"tag":2201,"props":3309,"children":3310},{"style":2230},[3311],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":3313,"children":3314},{"style":2354},[3315],{"type":2089,"value":3316}," html2text\n",{"type":2080,"tag":2201,"props":3318,"children":3320},{"class":2203,"line":3319},52,[3321,3326],{"type":2080,"tag":2201,"props":3322,"children":3323},{"style":2354},[3324],{"type":2089,"value":3325},"dev_server ",{"type":2080,"tag":2201,"props":3327,"children":3328},{"style":2360},[3329],{"type":2089,"value":3330},"# Vrai si en mode développeur\n",{"type":2080,"tag":2091,"props":3332,"children":3334},{"id":3333},"_3-exemples",[3335],{"type":2089,"value":3336},"3. Exemples",{"type":2080,"tag":2178,"props":3338,"children":3340},{"id":3339},"_31-changer-la-valeur-dune-propriété-avant-enregistrement",[3341],{"type":2089,"value":3342},"3.1 Changer la valeur d'une propriété avant enregistrement",{"type":2080,"tag":2081,"props":3344,"children":3345},{},[3346,3348],{"type":2089,"value":3347},"Type de script: ",{"type":2080,"tag":2085,"props":3349,"children":3350},{},[3351],{"type":2089,"value":2258},{"type":2080,"tag":2190,"props":3353,"children":3355},{"className":2342,"code":3354,"language":2344,"meta":2195,"style":2195},"if \"test\" in doc.description:\n    doc.status = 'Closed'\n",[3356],{"type":2080,"tag":2113,"props":3357,"children":3358},{"__ignoreMap":2195},[3359,3407],{"type":2080,"tag":2201,"props":3360,"children":3361},{"class":2203,"line":2204},[3362,3368,3373,3378,3383,3388,3393,3397,3402],{"type":2080,"tag":2201,"props":3363,"children":3365},{"style":3364},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF;--shiki-light-font-style:italic;--shiki-default-font-style:italic;--shiki-dark-font-style:italic",[3366],{"type":2089,"value":3367},"if",{"type":2080,"tag":2201,"props":3369,"children":3370},{"style":2230},[3371],{"type":2089,"value":3372}," \"",{"type":2080,"tag":2201,"props":3374,"children":3375},{"style":2214},[3376],{"type":2089,"value":3377},"test",{"type":2080,"tag":2201,"props":3379,"children":3380},{"style":2230},[3381],{"type":2089,"value":3382},"\"",{"type":2080,"tag":2201,"props":3384,"children":3385},{"style":2230},[3386],{"type":2089,"value":3387}," in",{"type":2080,"tag":2201,"props":3389,"children":3390},{"style":2354},[3391],{"type":2089,"value":3392}," doc",{"type":2080,"tag":2201,"props":3394,"children":3395},{"style":2230},[3396],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3398,"children":3399},{"style":2422},[3400],{"type":2089,"value":3401},"description",{"type":2080,"tag":2201,"props":3403,"children":3404},{"style":2230},[3405],{"type":2089,"value":3406},":\n",{"type":2080,"tag":2201,"props":3408,"children":3409},{"class":2203,"line":2366},[3410,3415,3419,3424,3428,3433,3438],{"type":2080,"tag":2201,"props":3411,"children":3412},{"style":2354},[3413],{"type":2089,"value":3414},"    doc",{"type":2080,"tag":2201,"props":3416,"children":3417},{"style":2230},[3418],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3420,"children":3421},{"style":2422},[3422],{"type":2089,"value":3423},"status",{"type":2080,"tag":2201,"props":3425,"children":3426},{"style":2230},[3427],{"type":2089,"value":2746},{"type":2080,"tag":2201,"props":3429,"children":3430},{"style":2230},[3431],{"type":2089,"value":3432}," '",{"type":2080,"tag":2201,"props":3434,"children":3435},{"style":2214},[3436],{"type":2089,"value":3437},"Closed",{"type":2080,"tag":2201,"props":3439,"children":3440},{"style":2230},[3441],{"type":2089,"value":3442},"'\n",{"type":2080,"tag":2178,"props":3444,"children":3446},{"id":3445},"_32-validation-personnalisée",[3447],{"type":2089,"value":3448},"3.2 Validation personnalisée",{"type":2080,"tag":2081,"props":3450,"children":3451},{},[3452,3454],{"type":2089,"value":3453},"Type de script:: ",{"type":2080,"tag":2085,"props":3455,"children":3456},{},[3457],{"type":2089,"value":2258},{"type":2080,"tag":2190,"props":3459,"children":3461},{"className":2342,"code":3460,"language":2344,"meta":2195,"style":2195},"if \"validate\" in doc.description:\n    raise frappe.ValidationError\n",[3462],{"type":2080,"tag":2113,"props":3463,"children":3464},{"__ignoreMap":2195},[3465,3505],{"type":2080,"tag":2201,"props":3466,"children":3467},{"class":2203,"line":2204},[3468,3472,3476,3481,3485,3489,3493,3497,3501],{"type":2080,"tag":2201,"props":3469,"children":3470},{"style":3364},[3471],{"type":2089,"value":3367},{"type":2080,"tag":2201,"props":3473,"children":3474},{"style":2230},[3475],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":3477,"children":3478},{"style":2214},[3479],{"type":2089,"value":3480},"validate",{"type":2080,"tag":2201,"props":3482,"children":3483},{"style":2230},[3484],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":3486,"children":3487},{"style":2230},[3488],{"type":2089,"value":3387},{"type":2080,"tag":2201,"props":3490,"children":3491},{"style":2354},[3492],{"type":2089,"value":3392},{"type":2080,"tag":2201,"props":3494,"children":3495},{"style":2230},[3496],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3498,"children":3499},{"style":2422},[3500],{"type":2089,"value":3401},{"type":2080,"tag":2201,"props":3502,"children":3503},{"style":2230},[3504],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":3506,"children":3507},{"class":2203,"line":2366},[3508,3513,3518,3522],{"type":2080,"tag":2201,"props":3509,"children":3510},{"style":3364},[3511],{"type":2089,"value":3512},"    raise",{"type":2080,"tag":2201,"props":3514,"children":3515},{"style":2354},[3516],{"type":2089,"value":3517}," frappe",{"type":2080,"tag":2201,"props":3519,"children":3520},{"style":2230},[3521],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3523,"children":3524},{"style":2422},[3525],{"type":2089,"value":3526},"ValidationError\n",{"type":2080,"tag":2178,"props":3528,"children":3530},{"id":3529},"_33-auto-création-dune-todo",[3531],{"type":2089,"value":3532},"3.3. Auto création d'une ToDo",{"type":2080,"tag":2081,"props":3534,"children":3535},{},[3536,3537],{"type":2089,"value":3347},{"type":2080,"tag":2085,"props":3538,"children":3539},{},[3540],{"type":2089,"value":2263},{"type":2080,"tag":2190,"props":3542,"children":3544},{"className":2342,"code":3543,"language":2344,"meta":2195,"style":2195},"if doc.allocted_to:\n    frappe.get_doc(dict(\n        doctype = 'ToDo'\n        owner = doc.allocated_to,\n        description = doc.subject\n    )).insert()\n",[3545],{"type":2080,"tag":2113,"props":3546,"children":3547},{"__ignoreMap":2195},[3548,3572,3604,3630,3660,3685],{"type":2080,"tag":2201,"props":3549,"children":3550},{"class":2203,"line":2204},[3551,3555,3559,3563,3568],{"type":2080,"tag":2201,"props":3552,"children":3553},{"style":3364},[3554],{"type":2089,"value":3367},{"type":2080,"tag":2201,"props":3556,"children":3557},{"style":2354},[3558],{"type":2089,"value":3392},{"type":2080,"tag":2201,"props":3560,"children":3561},{"style":2230},[3562],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3564,"children":3565},{"style":2422},[3566],{"type":2089,"value":3567},"allocted_to",{"type":2080,"tag":2201,"props":3569,"children":3570},{"style":2230},[3571],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":3573,"children":3574},{"class":2203,"line":2366},[3575,3580,3584,3590,3595,3599],{"type":2080,"tag":2201,"props":3576,"children":3577},{"style":2354},[3578],{"type":2089,"value":3579},"    frappe",{"type":2080,"tag":2201,"props":3581,"children":3582},{"style":2230},[3583],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3585,"children":3587},{"style":3586},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[3588],{"type":2089,"value":3589},"get_doc",{"type":2080,"tag":2201,"props":3591,"children":3592},{"style":2230},[3593],{"type":2089,"value":3594},"(",{"type":2080,"tag":2201,"props":3596,"children":3597},{"style":2208},[3598],{"type":2089,"value":2372},{"type":2080,"tag":2201,"props":3600,"children":3601},{"style":2230},[3602],{"type":2089,"value":3603},"(\n",{"type":2080,"tag":2201,"props":3605,"children":3606},{"class":2203,"line":2380},[3607,3613,3617,3621,3626],{"type":2080,"tag":2201,"props":3608,"children":3610},{"style":3609},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8;--shiki-light-font-style:italic;--shiki-default-font-style:italic;--shiki-dark-font-style:italic",[3611],{"type":2089,"value":3612},"        doctype",{"type":2080,"tag":2201,"props":3614,"children":3615},{"style":2230},[3616],{"type":2089,"value":2746},{"type":2080,"tag":2201,"props":3618,"children":3619},{"style":2230},[3620],{"type":2089,"value":3432},{"type":2080,"tag":2201,"props":3622,"children":3623},{"style":2214},[3624],{"type":2089,"value":3625},"ToDo",{"type":2080,"tag":2201,"props":3627,"children":3628},{"style":2230},[3629],{"type":2089,"value":3442},{"type":2080,"tag":2201,"props":3631,"children":3632},{"class":2203,"line":2394},[3633,3638,3642,3646,3650,3655],{"type":2080,"tag":2201,"props":3634,"children":3635},{"style":3609},[3636],{"type":2089,"value":3637},"        owner",{"type":2080,"tag":2201,"props":3639,"children":3640},{"style":2230},[3641],{"type":2089,"value":2746},{"type":2080,"tag":2201,"props":3643,"children":3644},{"style":3586},[3645],{"type":2089,"value":3392},{"type":2080,"tag":2201,"props":3647,"children":3648},{"style":2230},[3649],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3651,"children":3652},{"style":2422},[3653],{"type":2089,"value":3654},"allocated_to",{"type":2080,"tag":2201,"props":3656,"children":3657},{"style":2230},[3658],{"type":2089,"value":3659},",\n",{"type":2080,"tag":2201,"props":3661,"children":3662},{"class":2203,"line":2408},[3663,3668,3672,3676,3680],{"type":2080,"tag":2201,"props":3664,"children":3665},{"style":3609},[3666],{"type":2089,"value":3667},"        description",{"type":2080,"tag":2201,"props":3669,"children":3670},{"style":2230},[3671],{"type":2089,"value":2746},{"type":2080,"tag":2201,"props":3673,"children":3674},{"style":3586},[3675],{"type":2089,"value":3392},{"type":2080,"tag":2201,"props":3677,"children":3678},{"style":2230},[3679],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3681,"children":3682},{"style":2422},[3683],{"type":2089,"value":3684},"subject\n",{"type":2080,"tag":2201,"props":3686,"children":3687},{"class":2203,"line":2433},[3688,3693,3698],{"type":2080,"tag":2201,"props":3689,"children":3690},{"style":2230},[3691],{"type":2089,"value":3692},"    )).",{"type":2080,"tag":2201,"props":3694,"children":3695},{"style":3586},[3696],{"type":2089,"value":3697},"insert",{"type":2080,"tag":2201,"props":3699,"children":3700},{"style":2230},[3701],{"type":2089,"value":3702},"()\n",{"type":2080,"tag":2178,"props":3704,"children":3706},{"id":3705},"_34-api",[3707],{"type":2089,"value":3708},"3.4 API",{"type":2080,"tag":2246,"props":3710,"children":3711},{},[3712,3720],{"type":2080,"tag":2107,"props":3713,"children":3714},{},[3715,3716],{"type":2089,"value":3347},{"type":2080,"tag":2085,"props":3717,"children":3718},{},[3719],{"type":2089,"value":720},{"type":2080,"tag":2107,"props":3721,"children":3722},{},[3723,3725],{"type":2089,"value":3724},"Nom de la méthode: ",{"type":2080,"tag":2113,"props":3726,"children":3728},{"className":3727},[],[3729],{"type":2089,"value":3730},"test_method",{"type":2080,"tag":2190,"props":3732,"children":3734},{"className":2342,"code":3733,"language":2344,"meta":2195,"style":2195},"frappe.response['message'] = \"hello\"\n",[3735],{"type":2080,"tag":2113,"props":3736,"children":3737},{"__ignoreMap":2195},[3738],{"type":2080,"tag":2201,"props":3739,"children":3740},{"class":2203,"line":2204},[3741,3745,3749,3753,3758,3763,3768,3772,3777,3781,3785,3790],{"type":2080,"tag":2201,"props":3742,"children":3743},{"style":2354},[3744],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":3746,"children":3747},{"style":2230},[3748],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3750,"children":3751},{"style":2422},[3752],{"type":2089,"value":2593},{"type":2080,"tag":2201,"props":3754,"children":3755},{"style":2230},[3756],{"type":2089,"value":3757},"[",{"type":2080,"tag":2201,"props":3759,"children":3760},{"style":2230},[3761],{"type":2089,"value":3762},"'",{"type":2080,"tag":2201,"props":3764,"children":3765},{"style":2214},[3766],{"type":2089,"value":3767},"message",{"type":2080,"tag":2201,"props":3769,"children":3770},{"style":2230},[3771],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":3773,"children":3774},{"style":2230},[3775],{"type":2089,"value":3776},"]",{"type":2080,"tag":2201,"props":3778,"children":3779},{"style":2230},[3780],{"type":2089,"value":2746},{"type":2080,"tag":2201,"props":3782,"children":3783},{"style":2230},[3784],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":3786,"children":3787},{"style":2214},[3788],{"type":2089,"value":3789},"hello",{"type":2080,"tag":2201,"props":3791,"children":3792},{"style":2230},[3793],{"type":2089,"value":3794},"\"\n",{"type":2080,"tag":2081,"props":3796,"children":3797},{},[3798,3800],{"type":2089,"value":3799},"Requête: ",{"type":2080,"tag":2113,"props":3801,"children":3803},{"className":3802},[],[3804],{"type":2089,"value":3805},"/api/method/test_method",{"type":2080,"tag":2178,"props":3807,"children":3809},{"id":3808},"_35-création-dune-réservation-darticles-quand-dautres-salles-sont-réservées",[3810],{"type":2089,"value":3811},"3.5 Création d'une réservation d'articles quand d'autres salles sont réservées",{"type":2080,"tag":2246,"props":3813,"children":3814},{},[3815],{"type":2080,"tag":2107,"props":3816,"children":3817},{},[3818,3819],{"type":2089,"value":3347},{"type":2080,"tag":2085,"props":3820,"children":3821},{},[3822],{"type":2089,"value":2263},{"type":2080,"tag":2081,"props":3824,"children":3825},{},[3826],{"type":2089,"value":3827},"👨‍💼 Le cas d’usage (réel)\nUn tiers-lieu a deux salles de réunions : la salle 1 (1ère étage) et 2 (2e) qu’ils louent à des assos, entreprises etc. Ils souhaitent proposer la salle 1 pour du coworking lorsqu’elle n’est pas utilisée avec à terme la possibilité pour les usagers de réserver eux-mêmes en ligne.",{"type":2080,"tag":2081,"props":3829,"children":3830},{},[3831],{"type":2089,"value":3832},"🤔 Problème : il faut pouvoir empêcher la réservation du coworking quand les deux salles sont louées.",{"type":2080,"tag":2081,"props":3834,"children":3835},{},[3836],{"type":2089,"value":3837},"💡 Une solution : Un script Python qui vient automatiquement réserver tout les créneaux de coworking lorsque il y a chevauchement entre les réservations de la salle 1 et 2.",{"type":2080,"tag":2190,"props":3839,"children":3841},{"className":2342,"code":3840,"language":2344,"meta":2195,"style":2195},"#****Script parameters****\nmaster_room1 = \"Salle réunion 1\"\nmaster_room2 = \"Salle réunion 2\"\nslave_room = \"Salle de coworking\"\n\n# Constraint: If two master rooms are booked at the same time, then the slave room is booked\n# too during the overlap\n#****0/ Script only does something if item is one of the two master rooms****\nif doc.item == master_room1 or doc.item == master_room2:\n    #****1/ Get list of bookings confirmed on the same day, exclusive of the slave room****\n    booking_list = frappe.db.get_list('Item Booking',\n        filters=[\n            ['status','=', 'Confirmed'],\n            ['name','!=', doc.name],\n            ['item', '!=', slave_room],\n            ['starts_on','>=',frappe.utils.getdate(doc.starts_on)],\n            ['starts_on' ,'\u003C',frappe.utils.add_to_date(frappe.utils.getdate(doc.ends_on),days=1) ]\n        ],\n        fields=['name'],\n        as_list=True\n    )\n    # Assign datetime data to variables for clearer code\n    start1 = frappe.utils.get_datetime(doc.starts_on)\n    end1 = frappe.utils.get_datetime(doc.ends_on)\n    #****2/ Cycle through all the slots identified to check for overlaps****\n    for x in booking_list:\n        item_booking = frappe.get_doc('Item Booking', ''.join(x))\n        # Assign datetime data to variables for clearer code\n        start2 = frappe.utils.get_datetime(item_booking.starts_on)\n        end2 = frappe.utils.get_datetime(item_booking.ends_on)\n        #-- Conditions to check for overlaps (hard to get one's head around without a schematic) --\n        # Initialisation of a flag to check if one of the condition is met\n        overlapflag = 0\n        # Initialisation of slave start and end as the same as current doc\n        slavestart = start1\n        slaveend = end1\n        # Tail of previous slots overlaps with current doc\n        if end2 > start1 and end2 \u003C end1:\n            slaveend = end2\n            overlapflag = overlapflag + 1\n        # Start of previous slots overlaps with tail of current doc\n        if start2 > start1 and start2 \u003C end1:\n            slavestart = start2\n            overlapflag = overlapflag + 1\n        # Current doc is completely contained by previous slot\n        if start2 \u003C start1 and end2 > end1:\n            slavestart = start1\n            slaveend = end1\n            overlapflag = overlapflag + 1\n        #****3/Create a new slot to book the room if an overlap has been found****\n        if overlapflag:\n            # Get number of simultaneous bookings allowed\n            slave_item = frappe.get_doc(\"Item\", slave_room)\n            n_slots = slave_item.simultaneous_bookings_allowed\n            frappe.msgprint(\"Nombre de slots = \" + str(n_slots))\n            # Create enough slots to fill the slave room\n            for x in range(n_slots):\n                frappe.msgprint(\"Création d'une réservation pour l'article : \" + slave_room)\n                slave = frappe.get_doc({\n                    \"doctype\": \"Item Booking\",\n                    \"title\" : \"résa scriptée\",\n                    \"item\" : slave_room,\n                    \"status\" : \"Confirmed\",\n                    \"starts_on\" : slavestart,\n                    \"ends_on\" : slaveend\n                    })\n                slave.insert()\n        overlapflag = 0\n    else:\n        pass\n",[3842],{"type":2080,"tag":2113,"props":3843,"children":3844},{"__ignoreMap":2195},[3845,3853,3878,3903,3928,3935,3943,3951,3959,4019,4027,4081,4094,4153,4210,4258,4342,4474,4482,4511,4524,4532,4540,4594,4646,4654,4681,4753,4761,4814,4866,4874,4882,4899,4907,4924,4941,4949,4994,5011,5038,5046,5086,5103,5126,5134,5173,5188,5203,5226,5234,5250,5258,5312,5339,5396,5405,5440,5486,5516,5555,5594,5622,5658,5687,5712,5721,5742,5758,5771],{"type":2080,"tag":2201,"props":3846,"children":3847},{"class":2203,"line":2204},[3848],{"type":2080,"tag":2201,"props":3849,"children":3850},{"style":2360},[3851],{"type":2089,"value":3852},"#****Script parameters****\n",{"type":2080,"tag":2201,"props":3854,"children":3855},{"class":2203,"line":2366},[3856,3861,3865,3869,3874],{"type":2080,"tag":2201,"props":3857,"children":3858},{"style":2354},[3859],{"type":2089,"value":3860},"master_room1 ",{"type":2080,"tag":2201,"props":3862,"children":3863},{"style":2230},[3864],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":3866,"children":3867},{"style":2230},[3868],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":3870,"children":3871},{"style":2214},[3872],{"type":2089,"value":3873},"Salle réunion 1",{"type":2080,"tag":2201,"props":3875,"children":3876},{"style":2230},[3877],{"type":2089,"value":3794},{"type":2080,"tag":2201,"props":3879,"children":3880},{"class":2203,"line":2380},[3881,3886,3890,3894,3899],{"type":2080,"tag":2201,"props":3882,"children":3883},{"style":2354},[3884],{"type":2089,"value":3885},"master_room2 ",{"type":2080,"tag":2201,"props":3887,"children":3888},{"style":2230},[3889],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":3891,"children":3892},{"style":2230},[3893],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":3895,"children":3896},{"style":2214},[3897],{"type":2089,"value":3898},"Salle réunion 2",{"type":2080,"tag":2201,"props":3900,"children":3901},{"style":2230},[3902],{"type":2089,"value":3794},{"type":2080,"tag":2201,"props":3904,"children":3905},{"class":2203,"line":2394},[3906,3911,3915,3919,3924],{"type":2080,"tag":2201,"props":3907,"children":3908},{"style":2354},[3909],{"type":2089,"value":3910},"slave_room ",{"type":2080,"tag":2201,"props":3912,"children":3913},{"style":2230},[3914],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":3916,"children":3917},{"style":2230},[3918],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":3920,"children":3921},{"style":2214},[3922],{"type":2089,"value":3923},"Salle de coworking",{"type":2080,"tag":2201,"props":3925,"children":3926},{"style":2230},[3927],{"type":2089,"value":3794},{"type":2080,"tag":2201,"props":3929,"children":3930},{"class":2203,"line":2408},[3931],{"type":2080,"tag":2201,"props":3932,"children":3933},{"emptyLinePlaceholder":2437},[3934],{"type":2089,"value":2440},{"type":2080,"tag":2201,"props":3936,"children":3937},{"class":2203,"line":2433},[3938],{"type":2080,"tag":2201,"props":3939,"children":3940},{"style":2360},[3941],{"type":2089,"value":3942},"# Constraint: If two master rooms are booked at the same time, then the slave room is booked\n",{"type":2080,"tag":2201,"props":3944,"children":3945},{"class":2203,"line":2443},[3946],{"type":2080,"tag":2201,"props":3947,"children":3948},{"style":2360},[3949],{"type":2089,"value":3950},"# too during the overlap\n",{"type":2080,"tag":2201,"props":3952,"children":3953},{"class":2203,"line":2452},[3954],{"type":2080,"tag":2201,"props":3955,"children":3956},{"style":2360},[3957],{"type":2089,"value":3958},"#****0/ Script only does something if item is one of the two master rooms****\n",{"type":2080,"tag":2201,"props":3960,"children":3961},{"class":2203,"line":2474},[3962,3966,3970,3974,3979,3984,3989,3994,3998,4002,4006,4010,4015],{"type":2080,"tag":2201,"props":3963,"children":3964},{"style":3364},[3965],{"type":2089,"value":3367},{"type":2080,"tag":2201,"props":3967,"children":3968},{"style":2354},[3969],{"type":2089,"value":3392},{"type":2080,"tag":2201,"props":3971,"children":3972},{"style":2230},[3973],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":3975,"children":3976},{"style":2422},[3977],{"type":2089,"value":3978},"item",{"type":2080,"tag":2201,"props":3980,"children":3981},{"style":2230},[3982],{"type":2089,"value":3983}," ==",{"type":2080,"tag":2201,"props":3985,"children":3986},{"style":2354},[3987],{"type":2089,"value":3988}," master_room1 ",{"type":2080,"tag":2201,"props":3990,"children":3991},{"style":2230},[3992],{"type":2089,"value":3993},"or",{"type":2080,"tag":2201,"props":3995,"children":3996},{"style":2354},[3997],{"type":2089,"value":3392},{"type":2080,"tag":2201,"props":3999,"children":4000},{"style":2230},[4001],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4003,"children":4004},{"style":2422},[4005],{"type":2089,"value":3978},{"type":2080,"tag":2201,"props":4007,"children":4008},{"style":2230},[4009],{"type":2089,"value":3983},{"type":2080,"tag":2201,"props":4011,"children":4012},{"style":2354},[4013],{"type":2089,"value":4014}," master_room2",{"type":2080,"tag":2201,"props":4016,"children":4017},{"style":2230},[4018],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":4020,"children":4021},{"class":2203,"line":2496},[4022],{"type":2080,"tag":2201,"props":4023,"children":4024},{"style":2360},[4025],{"type":2089,"value":4026},"    #****1/ Get list of bookings confirmed on the same day, exclusive of the slave room****\n",{"type":2080,"tag":2201,"props":4028,"children":4029},{"class":2203,"line":2518},[4030,4035,4039,4043,4047,4051,4055,4060,4064,4068,4073,4077],{"type":2080,"tag":2201,"props":4031,"children":4032},{"style":2354},[4033],{"type":2089,"value":4034},"    booking_list ",{"type":2080,"tag":2201,"props":4036,"children":4037},{"style":2230},[4038],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4040,"children":4041},{"style":2354},[4042],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":4044,"children":4045},{"style":2230},[4046],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4048,"children":4049},{"style":2422},[4050],{"type":2089,"value":2908},{"type":2080,"tag":2201,"props":4052,"children":4053},{"style":2230},[4054],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4056,"children":4057},{"style":3586},[4058],{"type":2089,"value":4059},"get_list",{"type":2080,"tag":2201,"props":4061,"children":4062},{"style":2230},[4063],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4065,"children":4066},{"style":2230},[4067],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4069,"children":4070},{"style":2214},[4071],{"type":2089,"value":4072},"Item Booking",{"type":2080,"tag":2201,"props":4074,"children":4075},{"style":2230},[4076],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4078,"children":4079},{"style":2230},[4080],{"type":2089,"value":3659},{"type":2080,"tag":2201,"props":4082,"children":4083},{"class":2203,"line":2526},[4084,4089],{"type":2080,"tag":2201,"props":4085,"children":4086},{"style":3609},[4087],{"type":2089,"value":4088},"        filters",{"type":2080,"tag":2201,"props":4090,"children":4091},{"style":2230},[4092],{"type":2089,"value":4093},"=[\n",{"type":2080,"tag":2201,"props":4095,"children":4096},{"class":2203,"line":2535},[4097,4102,4106,4110,4114,4119,4123,4127,4131,4135,4139,4144,4148],{"type":2080,"tag":2201,"props":4098,"children":4099},{"style":2230},[4100],{"type":2089,"value":4101},"            [",{"type":2080,"tag":2201,"props":4103,"children":4104},{"style":2230},[4105],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4107,"children":4108},{"style":2214},[4109],{"type":2089,"value":3423},{"type":2080,"tag":2201,"props":4111,"children":4112},{"style":2230},[4113],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4115,"children":4116},{"style":2230},[4117],{"type":2089,"value":4118},",",{"type":2080,"tag":2201,"props":4120,"children":4121},{"style":2230},[4122],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4124,"children":4125},{"style":2214},[4126],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4128,"children":4129},{"style":2230},[4130],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4132,"children":4133},{"style":2230},[4134],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4136,"children":4137},{"style":2230},[4138],{"type":2089,"value":3432},{"type":2080,"tag":2201,"props":4140,"children":4141},{"style":2214},[4142],{"type":2089,"value":4143},"Confirmed",{"type":2080,"tag":2201,"props":4145,"children":4146},{"style":2230},[4147],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4149,"children":4150},{"style":2230},[4151],{"type":2089,"value":4152},"],\n",{"type":2080,"tag":2201,"props":4154,"children":4155},{"class":2203,"line":2557},[4156,4160,4164,4169,4173,4177,4181,4186,4190,4194,4198,4202,4206],{"type":2080,"tag":2201,"props":4157,"children":4158},{"style":2230},[4159],{"type":2089,"value":4101},{"type":2080,"tag":2201,"props":4161,"children":4162},{"style":2230},[4163],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4165,"children":4166},{"style":2214},[4167],{"type":2089,"value":4168},"name",{"type":2080,"tag":2201,"props":4170,"children":4171},{"style":2230},[4172],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4174,"children":4175},{"style":2230},[4176],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4178,"children":4179},{"style":2230},[4180],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4182,"children":4183},{"style":2214},[4184],{"type":2089,"value":4185},"!=",{"type":2080,"tag":2201,"props":4187,"children":4188},{"style":2230},[4189],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4191,"children":4192},{"style":2230},[4193],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4195,"children":4196},{"style":3586},[4197],{"type":2089,"value":3392},{"type":2080,"tag":2201,"props":4199,"children":4200},{"style":2230},[4201],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4203,"children":4204},{"style":2422},[4205],{"type":2089,"value":4168},{"type":2080,"tag":2201,"props":4207,"children":4208},{"style":2230},[4209],{"type":2089,"value":4152},{"type":2080,"tag":2201,"props":4211,"children":4212},{"class":2203,"line":2579},[4213,4217,4221,4225,4229,4233,4237,4241,4245,4249,4254],{"type":2080,"tag":2201,"props":4214,"children":4215},{"style":2230},[4216],{"type":2089,"value":4101},{"type":2080,"tag":2201,"props":4218,"children":4219},{"style":2230},[4220],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4222,"children":4223},{"style":2214},[4224],{"type":2089,"value":3978},{"type":2080,"tag":2201,"props":4226,"children":4227},{"style":2230},[4228],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4230,"children":4231},{"style":2230},[4232],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4234,"children":4235},{"style":2230},[4236],{"type":2089,"value":3432},{"type":2080,"tag":2201,"props":4238,"children":4239},{"style":2214},[4240],{"type":2089,"value":4185},{"type":2080,"tag":2201,"props":4242,"children":4243},{"style":2230},[4244],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4246,"children":4247},{"style":2230},[4248],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4250,"children":4251},{"style":3586},[4252],{"type":2089,"value":4253}," slave_room",{"type":2080,"tag":2201,"props":4255,"children":4256},{"style":2230},[4257],{"type":2089,"value":4152},{"type":2080,"tag":2201,"props":4259,"children":4260},{"class":2203,"line":2601},[4261,4265,4269,4274,4278,4282,4286,4291,4295,4299,4303,4307,4311,4315,4320,4324,4329,4333,4337],{"type":2080,"tag":2201,"props":4262,"children":4263},{"style":2230},[4264],{"type":2089,"value":4101},{"type":2080,"tag":2201,"props":4266,"children":4267},{"style":2230},[4268],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4270,"children":4271},{"style":2214},[4272],{"type":2089,"value":4273},"starts_on",{"type":2080,"tag":2201,"props":4275,"children":4276},{"style":2230},[4277],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4279,"children":4280},{"style":2230},[4281],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4283,"children":4284},{"style":2230},[4285],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4287,"children":4288},{"style":2214},[4289],{"type":2089,"value":4290},">=",{"type":2080,"tag":2201,"props":4292,"children":4293},{"style":2230},[4294],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4296,"children":4297},{"style":2230},[4298],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4300,"children":4301},{"style":3586},[4302],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":4304,"children":4305},{"style":2230},[4306],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4308,"children":4309},{"style":2422},[4310],{"type":2089,"value":3154},{"type":2080,"tag":2201,"props":4312,"children":4313},{"style":2230},[4314],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4316,"children":4317},{"style":3586},[4318],{"type":2089,"value":4319},"getdate",{"type":2080,"tag":2201,"props":4321,"children":4322},{"style":2230},[4323],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4325,"children":4326},{"style":3586},[4327],{"type":2089,"value":4328},"doc",{"type":2080,"tag":2201,"props":4330,"children":4331},{"style":2230},[4332],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4334,"children":4335},{"style":2422},[4336],{"type":2089,"value":4273},{"type":2080,"tag":2201,"props":4338,"children":4339},{"style":2230},[4340],{"type":2089,"value":4341},")],\n",{"type":2080,"tag":2201,"props":4343,"children":4344},{"class":2203,"line":2632},[4345,4349,4353,4357,4361,4366,4370,4375,4379,4383,4387,4391,4395,4399,4404,4408,4412,4416,4420,4424,4428,4432,4436,4440,4445,4450,4455,4459,4464,4469],{"type":2080,"tag":2201,"props":4346,"children":4347},{"style":2230},[4348],{"type":2089,"value":4101},{"type":2080,"tag":2201,"props":4350,"children":4351},{"style":2230},[4352],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4354,"children":4355},{"style":2214},[4356],{"type":2089,"value":4273},{"type":2080,"tag":2201,"props":4358,"children":4359},{"style":2230},[4360],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4362,"children":4363},{"style":2230},[4364],{"type":2089,"value":4365}," ,",{"type":2080,"tag":2201,"props":4367,"children":4368},{"style":2230},[4369],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4371,"children":4372},{"style":2214},[4373],{"type":2089,"value":4374},"\u003C",{"type":2080,"tag":2201,"props":4376,"children":4377},{"style":2230},[4378],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4380,"children":4381},{"style":2230},[4382],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4384,"children":4385},{"style":3586},[4386],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":4388,"children":4389},{"style":2230},[4390],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4392,"children":4393},{"style":2422},[4394],{"type":2089,"value":3154},{"type":2080,"tag":2201,"props":4396,"children":4397},{"style":2230},[4398],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4400,"children":4401},{"style":3586},[4402],{"type":2089,"value":4403},"add_to_date",{"type":2080,"tag":2201,"props":4405,"children":4406},{"style":2230},[4407],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4409,"children":4410},{"style":3586},[4411],{"type":2089,"value":2414},{"type":2080,"tag":2201,"props":4413,"children":4414},{"style":2230},[4415],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4417,"children":4418},{"style":2422},[4419],{"type":2089,"value":3154},{"type":2080,"tag":2201,"props":4421,"children":4422},{"style":2230},[4423],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4425,"children":4426},{"style":3586},[4427],{"type":2089,"value":4319},{"type":2080,"tag":2201,"props":4429,"children":4430},{"style":2230},[4431],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4433,"children":4434},{"style":3586},[4435],{"type":2089,"value":4328},{"type":2080,"tag":2201,"props":4437,"children":4438},{"style":2230},[4439],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4441,"children":4442},{"style":2422},[4443],{"type":2089,"value":4444},"ends_on",{"type":2080,"tag":2201,"props":4446,"children":4447},{"style":2230},[4448],{"type":2089,"value":4449},"),",{"type":2080,"tag":2201,"props":4451,"children":4452},{"style":3609},[4453],{"type":2089,"value":4454},"days",{"type":2080,"tag":2201,"props":4456,"children":4457},{"style":2230},[4458],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4460,"children":4462},{"style":4461},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[4463],{"type":2089,"value":2134},{"type":2080,"tag":2201,"props":4465,"children":4466},{"style":2230},[4467],{"type":2089,"value":4468},")",{"type":2080,"tag":2201,"props":4470,"children":4471},{"style":2230},[4472],{"type":2089,"value":4473}," ]\n",{"type":2080,"tag":2201,"props":4475,"children":4476},{"class":2203,"line":2662},[4477],{"type":2080,"tag":2201,"props":4478,"children":4479},{"style":2230},[4480],{"type":2089,"value":4481},"        ],\n",{"type":2080,"tag":2201,"props":4483,"children":4484},{"class":2203,"line":2683},[4485,4490,4495,4499,4503,4507],{"type":2080,"tag":2201,"props":4486,"children":4487},{"style":3609},[4488],{"type":2089,"value":4489},"        fields",{"type":2080,"tag":2201,"props":4491,"children":4492},{"style":2230},[4493],{"type":2089,"value":4494},"=[",{"type":2080,"tag":2201,"props":4496,"children":4497},{"style":2230},[4498],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4500,"children":4501},{"style":2214},[4502],{"type":2089,"value":4168},{"type":2080,"tag":2201,"props":4504,"children":4505},{"style":2230},[4506],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4508,"children":4509},{"style":2230},[4510],{"type":2089,"value":4152},{"type":2080,"tag":2201,"props":4512,"children":4513},{"class":2203,"line":2705},[4514,4519],{"type":2080,"tag":2201,"props":4515,"children":4516},{"style":3609},[4517],{"type":2089,"value":4518},"        as_list",{"type":2080,"tag":2201,"props":4520,"children":4521},{"style":2230},[4522],{"type":2089,"value":4523},"=True\n",{"type":2080,"tag":2201,"props":4525,"children":4526},{"class":2203,"line":2727},[4527],{"type":2080,"tag":2201,"props":4528,"children":4529},{"style":2230},[4530],{"type":2089,"value":4531},"    )\n",{"type":2080,"tag":2201,"props":4533,"children":4534},{"class":2203,"line":2753},[4535],{"type":2080,"tag":2201,"props":4536,"children":4537},{"style":2360},[4538],{"type":2089,"value":4539},"    # Assign datetime data to variables for clearer code\n",{"type":2080,"tag":2201,"props":4541,"children":4542},{"class":2203,"line":2761},[4543,4548,4552,4556,4560,4564,4568,4573,4577,4581,4585,4589],{"type":2080,"tag":2201,"props":4544,"children":4545},{"style":2354},[4546],{"type":2089,"value":4547},"    start1 ",{"type":2080,"tag":2201,"props":4549,"children":4550},{"style":2230},[4551],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4553,"children":4554},{"style":2354},[4555],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":4557,"children":4558},{"style":2230},[4559],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4561,"children":4562},{"style":2422},[4563],{"type":2089,"value":3154},{"type":2080,"tag":2201,"props":4565,"children":4566},{"style":2230},[4567],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4569,"children":4570},{"style":3586},[4571],{"type":2089,"value":4572},"get_datetime",{"type":2080,"tag":2201,"props":4574,"children":4575},{"style":2230},[4576],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4578,"children":4579},{"style":3586},[4580],{"type":2089,"value":4328},{"type":2080,"tag":2201,"props":4582,"children":4583},{"style":2230},[4584],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4586,"children":4587},{"style":2422},[4588],{"type":2089,"value":4273},{"type":2080,"tag":2201,"props":4590,"children":4591},{"style":2230},[4592],{"type":2089,"value":4593},")\n",{"type":2080,"tag":2201,"props":4595,"children":4596},{"class":2203,"line":2770},[4597,4602,4606,4610,4614,4618,4622,4626,4630,4634,4638,4642],{"type":2080,"tag":2201,"props":4598,"children":4599},{"style":2354},[4600],{"type":2089,"value":4601},"    end1 ",{"type":2080,"tag":2201,"props":4603,"children":4604},{"style":2230},[4605],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4607,"children":4608},{"style":2354},[4609],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":4611,"children":4612},{"style":2230},[4613],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4615,"children":4616},{"style":2422},[4617],{"type":2089,"value":3154},{"type":2080,"tag":2201,"props":4619,"children":4620},{"style":2230},[4621],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4623,"children":4624},{"style":3586},[4625],{"type":2089,"value":4572},{"type":2080,"tag":2201,"props":4627,"children":4628},{"style":2230},[4629],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4631,"children":4632},{"style":3586},[4633],{"type":2089,"value":4328},{"type":2080,"tag":2201,"props":4635,"children":4636},{"style":2230},[4637],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4639,"children":4640},{"style":2422},[4641],{"type":2089,"value":4444},{"type":2080,"tag":2201,"props":4643,"children":4644},{"style":2230},[4645],{"type":2089,"value":4593},{"type":2080,"tag":2201,"props":4647,"children":4648},{"class":2203,"line":2792},[4649],{"type":2080,"tag":2201,"props":4650,"children":4651},{"style":2360},[4652],{"type":2089,"value":4653},"    #****2/ Cycle through all the slots identified to check for overlaps****\n",{"type":2080,"tag":2201,"props":4655,"children":4656},{"class":2203,"line":2809},[4657,4662,4667,4672,4677],{"type":2080,"tag":2201,"props":4658,"children":4659},{"style":3364},[4660],{"type":2089,"value":4661},"    for",{"type":2080,"tag":2201,"props":4663,"children":4664},{"style":2354},[4665],{"type":2089,"value":4666}," x ",{"type":2080,"tag":2201,"props":4668,"children":4669},{"style":3364},[4670],{"type":2089,"value":4671},"in",{"type":2080,"tag":2201,"props":4673,"children":4674},{"style":2354},[4675],{"type":2089,"value":4676}," booking_list",{"type":2080,"tag":2201,"props":4678,"children":4679},{"style":2230},[4680],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":4682,"children":4683},{"class":2203,"line":2826},[4684,4689,4693,4697,4701,4705,4709,4713,4717,4721,4725,4730,4734,4739,4743,4748],{"type":2080,"tag":2201,"props":4685,"children":4686},{"style":2354},[4687],{"type":2089,"value":4688},"        item_booking ",{"type":2080,"tag":2201,"props":4690,"children":4691},{"style":2230},[4692],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4694,"children":4695},{"style":2354},[4696],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":4698,"children":4699},{"style":2230},[4700],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4702,"children":4703},{"style":3586},[4704],{"type":2089,"value":3589},{"type":2080,"tag":2201,"props":4706,"children":4707},{"style":2230},[4708],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4710,"children":4711},{"style":2230},[4712],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4714,"children":4715},{"style":2214},[4716],{"type":2089,"value":4072},{"type":2080,"tag":2201,"props":4718,"children":4719},{"style":2230},[4720],{"type":2089,"value":3762},{"type":2080,"tag":2201,"props":4722,"children":4723},{"style":2230},[4724],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":4726,"children":4727},{"style":2230},[4728],{"type":2089,"value":4729}," ''",{"type":2080,"tag":2201,"props":4731,"children":4732},{"style":2230},[4733],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4735,"children":4736},{"style":3586},[4737],{"type":2089,"value":4738},"join",{"type":2080,"tag":2201,"props":4740,"children":4741},{"style":2230},[4742],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4744,"children":4745},{"style":3586},[4746],{"type":2089,"value":4747},"x",{"type":2080,"tag":2201,"props":4749,"children":4750},{"style":2230},[4751],{"type":2089,"value":4752},"))\n",{"type":2080,"tag":2201,"props":4754,"children":4755},{"class":2203,"line":2843},[4756],{"type":2080,"tag":2201,"props":4757,"children":4758},{"style":2360},[4759],{"type":2089,"value":4760},"        # Assign datetime data to variables for clearer code\n",{"type":2080,"tag":2201,"props":4762,"children":4763},{"class":2203,"line":2860},[4764,4769,4773,4777,4781,4785,4789,4793,4797,4802,4806,4810],{"type":2080,"tag":2201,"props":4765,"children":4766},{"style":2354},[4767],{"type":2089,"value":4768},"        start2 ",{"type":2080,"tag":2201,"props":4770,"children":4771},{"style":2230},[4772],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4774,"children":4775},{"style":2354},[4776],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":4778,"children":4779},{"style":2230},[4780],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4782,"children":4783},{"style":2422},[4784],{"type":2089,"value":3154},{"type":2080,"tag":2201,"props":4786,"children":4787},{"style":2230},[4788],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4790,"children":4791},{"style":3586},[4792],{"type":2089,"value":4572},{"type":2080,"tag":2201,"props":4794,"children":4795},{"style":2230},[4796],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4798,"children":4799},{"style":3586},[4800],{"type":2089,"value":4801},"item_booking",{"type":2080,"tag":2201,"props":4803,"children":4804},{"style":2230},[4805],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4807,"children":4808},{"style":2422},[4809],{"type":2089,"value":4273},{"type":2080,"tag":2201,"props":4811,"children":4812},{"style":2230},[4813],{"type":2089,"value":4593},{"type":2080,"tag":2201,"props":4815,"children":4816},{"class":2203,"line":2877},[4817,4822,4826,4830,4834,4838,4842,4846,4850,4854,4858,4862],{"type":2080,"tag":2201,"props":4818,"children":4819},{"style":2354},[4820],{"type":2089,"value":4821},"        end2 ",{"type":2080,"tag":2201,"props":4823,"children":4824},{"style":2230},[4825],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4827,"children":4828},{"style":2354},[4829],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":4831,"children":4832},{"style":2230},[4833],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4835,"children":4836},{"style":2422},[4837],{"type":2089,"value":3154},{"type":2080,"tag":2201,"props":4839,"children":4840},{"style":2230},[4841],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4843,"children":4844},{"style":3586},[4845],{"type":2089,"value":4572},{"type":2080,"tag":2201,"props":4847,"children":4848},{"style":2230},[4849],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":4851,"children":4852},{"style":3586},[4853],{"type":2089,"value":4801},{"type":2080,"tag":2201,"props":4855,"children":4856},{"style":2230},[4857],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":4859,"children":4860},{"style":2422},[4861],{"type":2089,"value":4444},{"type":2080,"tag":2201,"props":4863,"children":4864},{"style":2230},[4865],{"type":2089,"value":4593},{"type":2080,"tag":2201,"props":4867,"children":4868},{"class":2203,"line":2885},[4869],{"type":2080,"tag":2201,"props":4870,"children":4871},{"style":2360},[4872],{"type":2089,"value":4873},"        #-- Conditions to check for overlaps (hard to get one's head around without a schematic) --\n",{"type":2080,"tag":2201,"props":4875,"children":4876},{"class":2203,"line":2894},[4877],{"type":2080,"tag":2201,"props":4878,"children":4879},{"style":2360},[4880],{"type":2089,"value":4881},"        # Initialisation of a flag to check if one of the condition is met\n",{"type":2080,"tag":2201,"props":4883,"children":4884},{"class":2203,"line":2919},[4885,4890,4894],{"type":2080,"tag":2201,"props":4886,"children":4887},{"style":2354},[4888],{"type":2089,"value":4889},"        overlapflag ",{"type":2080,"tag":2201,"props":4891,"children":4892},{"style":2230},[4893],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4895,"children":4896},{"style":4461},[4897],{"type":2089,"value":4898}," 0\n",{"type":2080,"tag":2201,"props":4900,"children":4901},{"class":2203,"line":2943},[4902],{"type":2080,"tag":2201,"props":4903,"children":4904},{"style":2360},[4905],{"type":2089,"value":4906},"        # Initialisation of slave start and end as the same as current doc\n",{"type":2080,"tag":2201,"props":4908,"children":4909},{"class":2203,"line":2968},[4910,4915,4919],{"type":2080,"tag":2201,"props":4911,"children":4912},{"style":2354},[4913],{"type":2089,"value":4914},"        slavestart ",{"type":2080,"tag":2201,"props":4916,"children":4917},{"style":2230},[4918],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4920,"children":4921},{"style":2354},[4922],{"type":2089,"value":4923}," start1\n",{"type":2080,"tag":2201,"props":4925,"children":4926},{"class":2203,"line":2993},[4927,4932,4936],{"type":2080,"tag":2201,"props":4928,"children":4929},{"style":2354},[4930],{"type":2089,"value":4931},"        slaveend ",{"type":2080,"tag":2201,"props":4933,"children":4934},{"style":2230},[4935],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":4937,"children":4938},{"style":2354},[4939],{"type":2089,"value":4940}," end1\n",{"type":2080,"tag":2201,"props":4942,"children":4943},{"class":2203,"line":3018},[4944],{"type":2080,"tag":2201,"props":4945,"children":4946},{"style":2360},[4947],{"type":2089,"value":4948},"        # Tail of previous slots overlaps with current doc\n",{"type":2080,"tag":2201,"props":4950,"children":4951},{"class":2203,"line":3043},[4952,4957,4962,4967,4972,4977,4981,4985,4990],{"type":2080,"tag":2201,"props":4953,"children":4954},{"style":3364},[4955],{"type":2089,"value":4956},"        if",{"type":2080,"tag":2201,"props":4958,"children":4959},{"style":2354},[4960],{"type":2089,"value":4961}," end2 ",{"type":2080,"tag":2201,"props":4963,"children":4964},{"style":2230},[4965],{"type":2089,"value":4966},">",{"type":2080,"tag":2201,"props":4968,"children":4969},{"style":2354},[4970],{"type":2089,"value":4971}," start1 ",{"type":2080,"tag":2201,"props":4973,"children":4974},{"style":2230},[4975],{"type":2089,"value":4976},"and",{"type":2080,"tag":2201,"props":4978,"children":4979},{"style":2354},[4980],{"type":2089,"value":4961},{"type":2080,"tag":2201,"props":4982,"children":4983},{"style":2230},[4984],{"type":2089,"value":4374},{"type":2080,"tag":2201,"props":4986,"children":4987},{"style":2354},[4988],{"type":2089,"value":4989}," end1",{"type":2080,"tag":2201,"props":4991,"children":4992},{"style":2230},[4993],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":4995,"children":4996},{"class":2203,"line":3051},[4997,5002,5006],{"type":2080,"tag":2201,"props":4998,"children":4999},{"style":2354},[5000],{"type":2089,"value":5001},"            slaveend ",{"type":2080,"tag":2201,"props":5003,"children":5004},{"style":2230},[5005],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5007,"children":5008},{"style":2354},[5009],{"type":2089,"value":5010}," end2\n",{"type":2080,"tag":2201,"props":5012,"children":5013},{"class":2203,"line":3060},[5014,5019,5023,5028,5033],{"type":2080,"tag":2201,"props":5015,"children":5016},{"style":2354},[5017],{"type":2089,"value":5018},"            overlapflag ",{"type":2080,"tag":2201,"props":5020,"children":5021},{"style":2230},[5022],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5024,"children":5025},{"style":2354},[5026],{"type":2089,"value":5027}," overlapflag ",{"type":2080,"tag":2201,"props":5029,"children":5030},{"style":2230},[5031],{"type":2089,"value":5032},"+",{"type":2080,"tag":2201,"props":5034,"children":5035},{"style":4461},[5036],{"type":2089,"value":5037}," 1\n",{"type":2080,"tag":2201,"props":5039,"children":5040},{"class":2203,"line":3082},[5041],{"type":2080,"tag":2201,"props":5042,"children":5043},{"style":2360},[5044],{"type":2089,"value":5045},"        # Start of previous slots overlaps with tail of current doc\n",{"type":2080,"tag":2201,"props":5047,"children":5048},{"class":2203,"line":3096},[5049,5053,5058,5062,5066,5070,5074,5078,5082],{"type":2080,"tag":2201,"props":5050,"children":5051},{"style":3364},[5052],{"type":2089,"value":4956},{"type":2080,"tag":2201,"props":5054,"children":5055},{"style":2354},[5056],{"type":2089,"value":5057}," start2 ",{"type":2080,"tag":2201,"props":5059,"children":5060},{"style":2230},[5061],{"type":2089,"value":4966},{"type":2080,"tag":2201,"props":5063,"children":5064},{"style":2354},[5065],{"type":2089,"value":4971},{"type":2080,"tag":2201,"props":5067,"children":5068},{"style":2230},[5069],{"type":2089,"value":4976},{"type":2080,"tag":2201,"props":5071,"children":5072},{"style":2354},[5073],{"type":2089,"value":5057},{"type":2080,"tag":2201,"props":5075,"children":5076},{"style":2230},[5077],{"type":2089,"value":4374},{"type":2080,"tag":2201,"props":5079,"children":5080},{"style":2354},[5081],{"type":2089,"value":4989},{"type":2080,"tag":2201,"props":5083,"children":5084},{"style":2230},[5085],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":5087,"children":5088},{"class":2203,"line":3118},[5089,5094,5098],{"type":2080,"tag":2201,"props":5090,"children":5091},{"style":2354},[5092],{"type":2089,"value":5093},"            slavestart ",{"type":2080,"tag":2201,"props":5095,"children":5096},{"style":2230},[5097],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5099,"children":5100},{"style":2354},[5101],{"type":2089,"value":5102}," start2\n",{"type":2080,"tag":2201,"props":5104,"children":5105},{"class":2203,"line":3140},[5106,5110,5114,5118,5122],{"type":2080,"tag":2201,"props":5107,"children":5108},{"style":2354},[5109],{"type":2089,"value":5018},{"type":2080,"tag":2201,"props":5111,"children":5112},{"style":2230},[5113],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5115,"children":5116},{"style":2354},[5117],{"type":2089,"value":5027},{"type":2080,"tag":2201,"props":5119,"children":5120},{"style":2230},[5121],{"type":2089,"value":5032},{"type":2080,"tag":2201,"props":5123,"children":5124},{"style":4461},[5125],{"type":2089,"value":5037},{"type":2080,"tag":2201,"props":5127,"children":5128},{"class":2203,"line":3162},[5129],{"type":2080,"tag":2201,"props":5130,"children":5131},{"style":2360},[5132],{"type":2089,"value":5133},"        # Current doc is completely contained by previous slot\n",{"type":2080,"tag":2201,"props":5135,"children":5136},{"class":2203,"line":3184},[5137,5141,5145,5149,5153,5157,5161,5165,5169],{"type":2080,"tag":2201,"props":5138,"children":5139},{"style":3364},[5140],{"type":2089,"value":4956},{"type":2080,"tag":2201,"props":5142,"children":5143},{"style":2354},[5144],{"type":2089,"value":5057},{"type":2080,"tag":2201,"props":5146,"children":5147},{"style":2230},[5148],{"type":2089,"value":4374},{"type":2080,"tag":2201,"props":5150,"children":5151},{"style":2354},[5152],{"type":2089,"value":4971},{"type":2080,"tag":2201,"props":5154,"children":5155},{"style":2230},[5156],{"type":2089,"value":4976},{"type":2080,"tag":2201,"props":5158,"children":5159},{"style":2354},[5160],{"type":2089,"value":4961},{"type":2080,"tag":2201,"props":5162,"children":5163},{"style":2230},[5164],{"type":2089,"value":4966},{"type":2080,"tag":2201,"props":5166,"children":5167},{"style":2354},[5168],{"type":2089,"value":4989},{"type":2080,"tag":2201,"props":5170,"children":5171},{"style":2230},[5172],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":5174,"children":5175},{"class":2203,"line":3206},[5176,5180,5184],{"type":2080,"tag":2201,"props":5177,"children":5178},{"style":2354},[5179],{"type":2089,"value":5093},{"type":2080,"tag":2201,"props":5181,"children":5182},{"style":2230},[5183],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5185,"children":5186},{"style":2354},[5187],{"type":2089,"value":4923},{"type":2080,"tag":2201,"props":5189,"children":5190},{"class":2203,"line":3228},[5191,5195,5199],{"type":2080,"tag":2201,"props":5192,"children":5193},{"style":2354},[5194],{"type":2089,"value":5001},{"type":2080,"tag":2201,"props":5196,"children":5197},{"style":2230},[5198],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5200,"children":5201},{"style":2354},[5202],{"type":2089,"value":4940},{"type":2080,"tag":2201,"props":5204,"children":5205},{"class":2203,"line":3250},[5206,5210,5214,5218,5222],{"type":2080,"tag":2201,"props":5207,"children":5208},{"style":2354},[5209],{"type":2089,"value":5018},{"type":2080,"tag":2201,"props":5211,"children":5212},{"style":2230},[5213],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5215,"children":5216},{"style":2354},[5217],{"type":2089,"value":5027},{"type":2080,"tag":2201,"props":5219,"children":5220},{"style":2230},[5221],{"type":2089,"value":5032},{"type":2080,"tag":2201,"props":5223,"children":5224},{"style":4461},[5225],{"type":2089,"value":5037},{"type":2080,"tag":2201,"props":5227,"children":5228},{"class":2203,"line":3273},[5229],{"type":2080,"tag":2201,"props":5230,"children":5231},{"style":2360},[5232],{"type":2089,"value":5233},"        #****3/Create a new slot to book the room if an overlap has been found****\n",{"type":2080,"tag":2201,"props":5235,"children":5236},{"class":2203,"line":3301},[5237,5241,5246],{"type":2080,"tag":2201,"props":5238,"children":5239},{"style":3364},[5240],{"type":2089,"value":4956},{"type":2080,"tag":2201,"props":5242,"children":5243},{"style":2354},[5244],{"type":2089,"value":5245}," overlapflag",{"type":2080,"tag":2201,"props":5247,"children":5248},{"style":2230},[5249],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":5251,"children":5252},{"class":2203,"line":3319},[5253],{"type":2080,"tag":2201,"props":5254,"children":5255},{"style":2360},[5256],{"type":2089,"value":5257},"            # Get number of simultaneous bookings allowed\n",{"type":2080,"tag":2201,"props":5259,"children":5261},{"class":2203,"line":5260},53,[5262,5267,5271,5275,5279,5283,5287,5291,5296,5300,5304,5308],{"type":2080,"tag":2201,"props":5263,"children":5264},{"style":2354},[5265],{"type":2089,"value":5266},"            slave_item ",{"type":2080,"tag":2201,"props":5268,"children":5269},{"style":2230},[5270],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5272,"children":5273},{"style":2354},[5274],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":5276,"children":5277},{"style":2230},[5278],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":5280,"children":5281},{"style":3586},[5282],{"type":2089,"value":3589},{"type":2080,"tag":2201,"props":5284,"children":5285},{"style":2230},[5286],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":5288,"children":5289},{"style":2230},[5290],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5292,"children":5293},{"style":2214},[5294],{"type":2089,"value":5295},"Item",{"type":2080,"tag":2201,"props":5297,"children":5298},{"style":2230},[5299],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5301,"children":5302},{"style":2230},[5303],{"type":2089,"value":4118},{"type":2080,"tag":2201,"props":5305,"children":5306},{"style":3586},[5307],{"type":2089,"value":4253},{"type":2080,"tag":2201,"props":5309,"children":5310},{"style":2230},[5311],{"type":2089,"value":4593},{"type":2080,"tag":2201,"props":5313,"children":5315},{"class":2203,"line":5314},54,[5316,5321,5325,5330,5334],{"type":2080,"tag":2201,"props":5317,"children":5318},{"style":2354},[5319],{"type":2089,"value":5320},"            n_slots ",{"type":2080,"tag":2201,"props":5322,"children":5323},{"style":2230},[5324],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5326,"children":5327},{"style":2354},[5328],{"type":2089,"value":5329}," slave_item",{"type":2080,"tag":2201,"props":5331,"children":5332},{"style":2230},[5333],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":5335,"children":5336},{"style":2422},[5337],{"type":2089,"value":5338},"simultaneous_bookings_allowed\n",{"type":2080,"tag":2201,"props":5340,"children":5342},{"class":2203,"line":5341},55,[5343,5348,5352,5356,5360,5364,5369,5373,5378,5383,5387,5392],{"type":2080,"tag":2201,"props":5344,"children":5345},{"style":2354},[5346],{"type":2089,"value":5347},"            frappe",{"type":2080,"tag":2201,"props":5349,"children":5350},{"style":2230},[5351],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":5353,"children":5354},{"style":3586},[5355],{"type":2089,"value":3074},{"type":2080,"tag":2201,"props":5357,"children":5358},{"style":2230},[5359],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":5361,"children":5362},{"style":2230},[5363],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5365,"children":5366},{"style":2214},[5367],{"type":2089,"value":5368},"Nombre de slots = ",{"type":2080,"tag":2201,"props":5370,"children":5371},{"style":2230},[5372],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5374,"children":5375},{"style":2230},[5376],{"type":2089,"value":5377}," +",{"type":2080,"tag":2201,"props":5379,"children":5380},{"style":2208},[5381],{"type":2089,"value":5382}," str",{"type":2080,"tag":2201,"props":5384,"children":5385},{"style":2230},[5386],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":5388,"children":5389},{"style":3586},[5390],{"type":2089,"value":5391},"n_slots",{"type":2080,"tag":2201,"props":5393,"children":5394},{"style":2230},[5395],{"type":2089,"value":4752},{"type":2080,"tag":2201,"props":5397,"children":5399},{"class":2203,"line":5398},56,[5400],{"type":2080,"tag":2201,"props":5401,"children":5402},{"style":2360},[5403],{"type":2089,"value":5404},"            # Create enough slots to fill the slave room\n",{"type":2080,"tag":2201,"props":5406,"children":5408},{"class":2203,"line":5407},57,[5409,5414,5418,5422,5427,5431,5435],{"type":2080,"tag":2201,"props":5410,"children":5411},{"style":3364},[5412],{"type":2089,"value":5413},"            for",{"type":2080,"tag":2201,"props":5415,"children":5416},{"style":2354},[5417],{"type":2089,"value":4666},{"type":2080,"tag":2201,"props":5419,"children":5420},{"style":3364},[5421],{"type":2089,"value":4671},{"type":2080,"tag":2201,"props":5423,"children":5424},{"style":3586},[5425],{"type":2089,"value":5426}," range",{"type":2080,"tag":2201,"props":5428,"children":5429},{"style":2230},[5430],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":5432,"children":5433},{"style":3586},[5434],{"type":2089,"value":5391},{"type":2080,"tag":2201,"props":5436,"children":5437},{"style":2230},[5438],{"type":2089,"value":5439},"):\n",{"type":2080,"tag":2201,"props":5441,"children":5443},{"class":2203,"line":5442},58,[5444,5449,5453,5457,5461,5465,5470,5474,5478,5482],{"type":2080,"tag":2201,"props":5445,"children":5446},{"style":2354},[5447],{"type":2089,"value":5448},"                frappe",{"type":2080,"tag":2201,"props":5450,"children":5451},{"style":2230},[5452],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":5454,"children":5455},{"style":3586},[5456],{"type":2089,"value":3074},{"type":2080,"tag":2201,"props":5458,"children":5459},{"style":2230},[5460],{"type":2089,"value":3594},{"type":2080,"tag":2201,"props":5462,"children":5463},{"style":2230},[5464],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5466,"children":5467},{"style":2214},[5468],{"type":2089,"value":5469},"Création d'une réservation pour l'article : ",{"type":2080,"tag":2201,"props":5471,"children":5472},{"style":2230},[5473],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5475,"children":5476},{"style":2230},[5477],{"type":2089,"value":5377},{"type":2080,"tag":2201,"props":5479,"children":5480},{"style":3586},[5481],{"type":2089,"value":4253},{"type":2080,"tag":2201,"props":5483,"children":5484},{"style":2230},[5485],{"type":2089,"value":4593},{"type":2080,"tag":2201,"props":5487,"children":5489},{"class":2203,"line":5488},59,[5490,5495,5499,5503,5507,5511],{"type":2080,"tag":2201,"props":5491,"children":5492},{"style":2354},[5493],{"type":2089,"value":5494},"                slave ",{"type":2080,"tag":2201,"props":5496,"children":5497},{"style":2230},[5498],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5500,"children":5501},{"style":2354},[5502],{"type":2089,"value":3517},{"type":2080,"tag":2201,"props":5504,"children":5505},{"style":2230},[5506],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":5508,"children":5509},{"style":3586},[5510],{"type":2089,"value":3589},{"type":2080,"tag":2201,"props":5512,"children":5513},{"style":2230},[5514],{"type":2089,"value":5515},"({\n",{"type":2080,"tag":2201,"props":5517,"children":5519},{"class":2203,"line":5518},60,[5520,5525,5530,5534,5539,5543,5547,5551],{"type":2080,"tag":2201,"props":5521,"children":5522},{"style":2230},[5523],{"type":2089,"value":5524},"                    \"",{"type":2080,"tag":2201,"props":5526,"children":5527},{"style":2214},[5528],{"type":2089,"value":5529},"doctype",{"type":2080,"tag":2201,"props":5531,"children":5532},{"style":2230},[5533],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5535,"children":5536},{"style":2230},[5537],{"type":2089,"value":5538},":",{"type":2080,"tag":2201,"props":5540,"children":5541},{"style":2230},[5542],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":5544,"children":5545},{"style":2214},[5546],{"type":2089,"value":4072},{"type":2080,"tag":2201,"props":5548,"children":5549},{"style":2230},[5550],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5552,"children":5553},{"style":2230},[5554],{"type":2089,"value":3659},{"type":2080,"tag":2201,"props":5556,"children":5558},{"class":2203,"line":5557},61,[5559,5563,5568,5572,5577,5581,5586,5590],{"type":2080,"tag":2201,"props":5560,"children":5561},{"style":2230},[5562],{"type":2089,"value":5524},{"type":2080,"tag":2201,"props":5564,"children":5565},{"style":2214},[5566],{"type":2089,"value":5567},"title",{"type":2080,"tag":2201,"props":5569,"children":5570},{"style":2230},[5571],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5573,"children":5574},{"style":2230},[5575],{"type":2089,"value":5576}," :",{"type":2080,"tag":2201,"props":5578,"children":5579},{"style":2230},[5580],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":5582,"children":5583},{"style":2214},[5584],{"type":2089,"value":5585},"résa scriptée",{"type":2080,"tag":2201,"props":5587,"children":5588},{"style":2230},[5589],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5591,"children":5592},{"style":2230},[5593],{"type":2089,"value":3659},{"type":2080,"tag":2201,"props":5595,"children":5597},{"class":2203,"line":5596},62,[5598,5602,5606,5610,5614,5618],{"type":2080,"tag":2201,"props":5599,"children":5600},{"style":2230},[5601],{"type":2089,"value":5524},{"type":2080,"tag":2201,"props":5603,"children":5604},{"style":2214},[5605],{"type":2089,"value":3978},{"type":2080,"tag":2201,"props":5607,"children":5608},{"style":2230},[5609],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5611,"children":5612},{"style":2230},[5613],{"type":2089,"value":5576},{"type":2080,"tag":2201,"props":5615,"children":5616},{"style":3586},[5617],{"type":2089,"value":4253},{"type":2080,"tag":2201,"props":5619,"children":5620},{"style":2230},[5621],{"type":2089,"value":3659},{"type":2080,"tag":2201,"props":5623,"children":5625},{"class":2203,"line":5624},63,[5626,5630,5634,5638,5642,5646,5650,5654],{"type":2080,"tag":2201,"props":5627,"children":5628},{"style":2230},[5629],{"type":2089,"value":5524},{"type":2080,"tag":2201,"props":5631,"children":5632},{"style":2214},[5633],{"type":2089,"value":3423},{"type":2080,"tag":2201,"props":5635,"children":5636},{"style":2230},[5637],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5639,"children":5640},{"style":2230},[5641],{"type":2089,"value":5576},{"type":2080,"tag":2201,"props":5643,"children":5644},{"style":2230},[5645],{"type":2089,"value":3372},{"type":2080,"tag":2201,"props":5647,"children":5648},{"style":2214},[5649],{"type":2089,"value":4143},{"type":2080,"tag":2201,"props":5651,"children":5652},{"style":2230},[5653],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5655,"children":5656},{"style":2230},[5657],{"type":2089,"value":3659},{"type":2080,"tag":2201,"props":5659,"children":5661},{"class":2203,"line":5660},64,[5662,5666,5670,5674,5678,5683],{"type":2080,"tag":2201,"props":5663,"children":5664},{"style":2230},[5665],{"type":2089,"value":5524},{"type":2080,"tag":2201,"props":5667,"children":5668},{"style":2214},[5669],{"type":2089,"value":4273},{"type":2080,"tag":2201,"props":5671,"children":5672},{"style":2230},[5673],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5675,"children":5676},{"style":2230},[5677],{"type":2089,"value":5576},{"type":2080,"tag":2201,"props":5679,"children":5680},{"style":3586},[5681],{"type":2089,"value":5682}," slavestart",{"type":2080,"tag":2201,"props":5684,"children":5685},{"style":2230},[5686],{"type":2089,"value":3659},{"type":2080,"tag":2201,"props":5688,"children":5690},{"class":2203,"line":5689},65,[5691,5695,5699,5703,5707],{"type":2080,"tag":2201,"props":5692,"children":5693},{"style":2230},[5694],{"type":2089,"value":5524},{"type":2080,"tag":2201,"props":5696,"children":5697},{"style":2214},[5698],{"type":2089,"value":4444},{"type":2080,"tag":2201,"props":5700,"children":5701},{"style":2230},[5702],{"type":2089,"value":3382},{"type":2080,"tag":2201,"props":5704,"children":5705},{"style":2230},[5706],{"type":2089,"value":5576},{"type":2080,"tag":2201,"props":5708,"children":5709},{"style":3586},[5710],{"type":2089,"value":5711}," slaveend\n",{"type":2080,"tag":2201,"props":5713,"children":5715},{"class":2203,"line":5714},66,[5716],{"type":2080,"tag":2201,"props":5717,"children":5718},{"style":2230},[5719],{"type":2089,"value":5720},"                    })\n",{"type":2080,"tag":2201,"props":5722,"children":5724},{"class":2203,"line":5723},67,[5725,5730,5734,5738],{"type":2080,"tag":2201,"props":5726,"children":5727},{"style":2354},[5728],{"type":2089,"value":5729},"                slave",{"type":2080,"tag":2201,"props":5731,"children":5732},{"style":2230},[5733],{"type":2089,"value":2419},{"type":2080,"tag":2201,"props":5735,"children":5736},{"style":3586},[5737],{"type":2089,"value":3697},{"type":2080,"tag":2201,"props":5739,"children":5740},{"style":2230},[5741],{"type":2089,"value":3702},{"type":2080,"tag":2201,"props":5743,"children":5745},{"class":2203,"line":5744},68,[5746,5750,5754],{"type":2080,"tag":2201,"props":5747,"children":5748},{"style":2354},[5749],{"type":2089,"value":4889},{"type":2080,"tag":2201,"props":5751,"children":5752},{"style":2230},[5753],{"type":2089,"value":3284},{"type":2080,"tag":2201,"props":5755,"children":5756},{"style":4461},[5757],{"type":2089,"value":4898},{"type":2080,"tag":2201,"props":5759,"children":5761},{"class":2203,"line":5760},69,[5762,5767],{"type":2080,"tag":2201,"props":5763,"children":5764},{"style":3364},[5765],{"type":2089,"value":5766},"    else",{"type":2080,"tag":2201,"props":5768,"children":5769},{"style":2230},[5770],{"type":2089,"value":3406},{"type":2080,"tag":2201,"props":5772,"children":5774},{"class":2203,"line":5773},70,[5775],{"type":2080,"tag":2201,"props":5776,"children":5777},{"style":3364},[5778],{"type":2089,"value":5779},"        pass\n",{"type":2080,"tag":3256,"props":5781,"children":5782},{},[5783],{"type":2089,"value":5784},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":2195,"searchDepth":2366,"depth":2366,"links":5786},[5787,5788,5794],{"id":2093,"depth":2366,"text":2096},{"id":2173,"depth":2366,"text":2176,"children":5789},[5790,5791,5792,5793],{"id":2180,"depth":2380,"text":2183},{"id":2236,"depth":2380,"text":2239},{"id":2296,"depth":2380,"text":2299},{"id":2331,"depth":2380,"text":2334},{"id":3333,"depth":2366,"text":3336,"children":5795},[5796,5797,5798,5799,5800],{"id":3339,"depth":2380,"text":3342},{"id":3445,"depth":2380,"text":3448},{"id":3529,"depth":2380,"text":3532},{"id":3705,"depth":2380,"text":3708},{"id":3808,"depth":2380,"text":3811},"markdown","content:3.dodock:14.ressources:2.concepts:scripts-python.md","content","3.dodock/14.ressources/2.concepts/scripts-python.md","md",[5807,5809],{"_path":1548,"title":1284,"description":5808},"Le langage Jinja est utilisé dans Dokos pour créer des modèles d'email, des notifications et des formats d'impression personnalisés complexes en y intégrant des variables. Il permet de mélanger du language HTML avec des variables en Python.",{"_path":1558,"title":1557,"description":5810},"Les champs Joindre (Attach) et Joindre une image (Attach Image) permettent de stocker un lien vers un fichier ou une image.",1747740677844]