Major additions accumulated over 9 days — single commit per request. Flow editor (new): - Generic visual editor for step trees, usable by project wizard + agent flows - PROJECT_KINDS / AGENT_KINDS catalogs decouple UI from domain - Drag-and-drop reorder via vuedraggable with scope isolation per peer group - Chain-aware depends_on rewrite on reorder (sequential only — DAGs preserved) - Variable picker with per-applies_to catalog (Customer / Quotation / Service Contract / Issue / Subscription), insert + copy-clipboard modes - trigger_condition helper with domain-specific JSONLogic examples - Global FlowEditorDialog mounted once in MainLayout, Odoo inline pattern - Server: targo-hub flow-runtime.js, flow-api.js, flow-templates.js - ERPNext: Flow Template/Run doctypes, scheduler, 5 seeded system templates - depends_on chips resolve to step labels instead of opaque "s4" ids QR/OCR scanner (field app): - Camera capture → Gemini Vision via targo-hub with 8s timeout - IndexedDB offline queue retries photos when signal returns - Watcher merges late-arriving scan results into the live UI Dispatch: - Planning mode (draft → publish) with offer pool for unassigned jobs - Shared presets, recurrence selector, suggested-slots dialog - PublishScheduleModal, unassign confirmation Ops app: - ClientDetailPage composables extraction (useClientData, useDeviceStatus, useWifiDiagnostic, useModemDiagnostic) - Project wizard: shared detail sections, wizard catalog/publish composables - Address pricing composable + pricing-mock data - Settings redesign hosting flow templates Targo-hub: - Contract acceptance (JWT residential + DocuSeal commercial tracks) - Referral system - Modem-bridge diagnostic normalizer - Device extractors consolidated Migration scripts: - Invoice/quote print format setup, Jinja rendering - Additional import + fix scripts (reversals, dates, customers, payments) Docs: - Consolidated: old scattered MDs → HANDOFF, ARCHITECTURE, DATA_AND_FLOWS, FLOW_EDITOR_ARCHITECTURE, BILLING_AND_PAYMENTS, CPE_MANAGEMENT, APP_DESIGN_GUIDELINES - Archived legacy wizard PHP for reference - STATUS snapshots for 2026-04-18/19 Cleanup: - Removed ~40 generated PDFs/HTMLs (invoice_preview*, rendered_jinja*) - .gitignore now covers invoice preview output + nested .DS_Store Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
130 lines
4.4 KiB
PHP
130 lines
4.4 KiB
PHP
<?php
|
|
|
|
include_once "authentication.php";
|
|
|
|
|
|
if(isset($_POST['first_name'])){
|
|
|
|
$sql_epg = new mysqli('96.125.196.10', 'facturation', 'r2SnlWTyKjMzw5oQ', 'cargotv');
|
|
$sql_epg->set_charset("latin1_swedish_ci");
|
|
|
|
$address_id = $_POST['ws_delivery_id'];
|
|
$first_name = str_replace("'","",$sql_epg->real_escape_string(utf8_decode($_POST['first_name'])));
|
|
$last_name = str_replace("'","",$sql_epg->real_escape_string(utf8_decode($_POST['last_name'])));
|
|
$city = str_replace("'","", $sql_epg->real_escape_string(utf8_decode($_POST['city'])));
|
|
$code_postal = $_POST['zip'];
|
|
$address = str_replace("'","",$sql_epg->real_escape_string(utf8_decode($_POST['address'])));
|
|
//$civicno = $_POST['civicno'];
|
|
$civicno = $_POST['ws_delivery_id'];
|
|
|
|
$q_sub = "INSERT INTO `subs` (`groupid`,`fname`,`lname`,`city`,`zip`,`address`,`resellerid`,`status`,`defaultSaverTimeout`,`civicno`,`defPvrMaxHours`,`appProfileId`)
|
|
VALUES (2,'$first_name','$last_name','$city','$code_postal','$address',1,'ACTIVE',2147483647,'$civicno',100,1)";
|
|
|
|
if($sql_epg->query($q_sub)){
|
|
|
|
//echo "$q_sub <br><br>";
|
|
//print_r($sql_epg->error_list);
|
|
|
|
$subid = 0;
|
|
$subid = $sql_epg->insert_id;
|
|
|
|
$q_update = "UPDATE `delivery` SET `epg_subid` = $subid WHERE `id` = {$_POST['ws_delivery_id']}";
|
|
if($sql->query($q_update)){
|
|
|
|
//echo "$q_update <br><br>";
|
|
|
|
$sql_epg->close();
|
|
|
|
|
|
die("<form id='form_package' method='post' action='accueil.php?menu=tele_wizard_package'>
|
|
<input type='hidden' name='tw_delivery_id' value='$address_id'>
|
|
<input type='hidden' name='tw_sub_id' value='$subid'>
|
|
</form>
|
|
<script>
|
|
$('#form_package').submit();
|
|
</script>");
|
|
|
|
}
|
|
else{
|
|
echo "<div class='alert alert-danger'>Erreur Link epg->F. subid: $subid - delivery: {$_POST['ws_delivery_id']}</div>";
|
|
}
|
|
}
|
|
else{
|
|
echo "<div class='alert alert-danger'>Le compte n'a pu etre cree dans epg: {$sql_epg->error_list}</div>";
|
|
}
|
|
|
|
$sql_epg->close();
|
|
|
|
}
|
|
|
|
|
|
|
|
//debug
|
|
//$_POST['ws_delivery_id'] = 2;
|
|
|
|
|
|
$delivery_id = $_POST['ws_delivery_id'];
|
|
|
|
$res_delivery = $sql->query("SELECT * FROM `delivery` WHERE `id` = $delivery_id");
|
|
$row_delivery = $res_delivery->fetch_assoc();
|
|
$name = explode(' ',$row_delivery['name']);
|
|
$civicno = explode(' ',$row_delivery['address1']);
|
|
$civicno = str_replace(',','',$civicno[0]);
|
|
$civicno = str_replace(' ','',$civicno);
|
|
|
|
|
|
?>
|
|
|
|
<h3>Tele Wiz - Ouverture compte tele (epg)</h3><br>
|
|
|
|
<form class="form-horizontal" id='f_wiz_subs' method='POST' data-toggle="validator" role="form">
|
|
|
|
<input type='hidden' name='ws_delivery_id' value='<?php echo $_POST['ws_delivery_id'];?>'>
|
|
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Prenom</label>
|
|
<div class="col-sm-4">
|
|
<input type="text" class='form-control' name='first_name' id='first_name' value='<?php echo $name[0];?>'>
|
|
</div>
|
|
<span class='help-block with-errors'></span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Nom</label>
|
|
<div class="col-sm-4">
|
|
<input type="text" class='form-control' name='last_name' id='last_name' value='<?php if(isset($name[1])) echo $name[1];?>'>
|
|
</div>
|
|
<span class='help-block with-errors'></span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Civic</label>
|
|
<div class="col-sm-4">
|
|
<input type="text" class='form-control' name='civicno' id='civicno' value='<?php echo $civicno;?>'>
|
|
</div>
|
|
<span class='help-block with-errors'></span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Adresse</label>
|
|
<div class="col-sm-4">
|
|
<input type="text" class='form-control' name='address' id='address' value='<?php echo $row_delivery['address1'];?>'>
|
|
</div>
|
|
<span class='help-block with-errors'>adresse complète incluant no. civic</span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Ville</label>
|
|
<div class="col-sm-4">
|
|
<input type="text" class='form-control' name='city' id='city' value='<?php echo $row_delivery['city'];?>'>
|
|
</div>
|
|
<span class='help-block with-errors'></span>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Code Postal</label>
|
|
<div class="col-sm-4">
|
|
<input type="text" class='form-control' name='zip' id='zip' value='<?php echo $row_delivery['zip'];?>'>
|
|
</div>
|
|
<span class='help-block with-errors'></span>
|
|
</div>
|
|
<br>
|
|
<button id='btn_submit' type='submit' class='btn btn-success'>Enregistrer</button>
|
|
|
|
|
|
</form>
|