Merge branch 'fronkdev' into 'master'

Addded cifurl and -cable url to Preordercampaign

See merge request fronk/thetool!266
This commit is contained in:
Frank Schubert
2024-02-23 15:38:22 +00:00
7 changed files with 122 additions and 7 deletions

View File

@@ -198,6 +198,27 @@
</div>
</div>
<hr />
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="cifurl">CIF Url</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="cifurl" id="cifurl" value="<?=$campaign->cifurl?>" />
<small>
Customer Installation Feedback (für QR-Code bei Status 145).<br />
Templatevariable <code>{{CIFTOKEN}}</code> wird mit echtem Cif Token ersetzt<br />
Beispiel: <code>https://pro.ichwillglasfaser.at/ClientSubmit/finishedInstallationWork?c={{CIFTOKEN}}</code>
</small>
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label" for="cifcableurl">Kabelnachbestell-Url</label>
<div class="col-lg-10">
<input type="text" class="form-control" name="cifcableurl" id="cifcableurl" value="<?=$campaign->cifcableurl?>" />
<small>Für Begleitschreiben - Status 145</small>
</div>
</div>
</div>
</div>

View File

@@ -358,7 +358,7 @@ class Preorder extends mfBaseModel {
public function createCiftoken() {
$ciftoken = $this->generateNewCiftoken();
while(PreorderModel::search(['ciftoken' => $ciftoken])) {
while(PreorderModel::getFirst(['ciftoken' => $ciftoken])) {
$ciftoken = $this->generateNewCiftoken();
}
$this->ciftoken = $ciftoken;
@@ -375,6 +375,24 @@ class Preorder extends mfBaseModel {
return $ciftoken;
}
public function generateCifUrl() {
$campaign = $this->getProperty("campaign");
$cifurl = $campaign->cifurl;
str_replace("{{CIFTOKEN}}", $this->ciftoken, $cifurl);
return $cifurl;
}
public function generateCifCableUrl() {
$campaign = $this->getProperty("campaign");
$cifcableurl = $campaign->cifcableurl;
str_replace("{{}}", $this->ciftoken, $cifcableurl);
return $cifcableurl;
}
public function getCifdataApiArray() {
if(!$this->id) {
return false;

View File

@@ -676,6 +676,13 @@ class PreorderModel {
}
}
if(array_key_exists("gemeinde_id", $filter)) {
$gemeinde_id = FronkDB::singleton()->escape($filter['gemeinde_id']);
if($gemeinde_id) {
$where .= " AND `".ADDRESSDB_DBNAME."`.adb_hausnummer.gemeinde_id = $gemeinde_id";
}
}
if(array_key_exists("gemeinde", $filter)) {
$gemeinde = FronkDB::singleton()->escape($filter['gemeinde']);
if($gemeinde) {

View File

@@ -229,11 +229,13 @@ class PreordercampaignController extends mfBaseController {
$data = [];
$data['network_id'] = $r->network_id;
$data['name'] = $r->name;
$data['description'] = $r->description;
$data['area'] = $r->area;
$data['note'] = $r->note;
$data['name'] = trim($r->name);
$data['description'] = trim($r->description);
$data['area'] = trim($r->area);
$data['note'] = trim($r->note);
$data['homes_total'] = (int)$r->homes_total;
$data["cifurl"] = trim($r->cifurl);
$data["cifcableurl"] = trim($r->cifcableurl);
if($r->from) {
$data['from'] = self::dateToTimestamp($r->from);

View File

@@ -0,0 +1,36 @@
<?php
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class PreordercampaignAddCifUrls extends AbstractMigration
{
public function up(): void
{
if($this->getEnvironment() == "thetool") {
$table = $this->table("Preordercampaign");
$table->addColumn("cifurl", "string", ["null" => true, "default" => null, "limit" => 255, "after" => "allow_unit_update"]);
$table->addColumn("cifcableurl", "string", ["null" => true, "default" => null, "limit" => 255, "after" => "cifurl"]);
$table->update();
}
if($this->getEnvironment() == "addressdb") {
}
}
public function down(): void
{
if($this->getEnvironment() == "thetool") {
$table = $this->table("Preordercampaign");
$table->removeColumn("cifcableurl");
$table->removeColumn("cifurl");
$table->save();
}
if($this->getEnvironment() == "addressdb") {
}
}
}

View File

@@ -287,8 +287,6 @@ class mfBaseController {
// Helper functions
public static function dateToTimestamp($date) {
$t = array(0,0,0);
// extract day, month, year
if (!preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{2,4})/',$date,$d)) {
return false;
@@ -298,6 +296,8 @@ class mfBaseController {
if (!$t[3]) {
$t[3] = 0;
}
} else {
$t = array(0,0,0);
}
// make and return timestamp
$ts = mktime($t[1],$t[2],$t[3],$d[2],$d[1],$d[3]);

View File

@@ -0,0 +1,31 @@
#!/usr/bin/php
<?php
//die("disabled");
//require 'vendor/autoload.php';
require("../../config/config.php");
define('FRONKDB_SQLDEBUG',false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
$me = new User(1);
define("INTERNAL_USER_ID", $me->id);
define("INTERNAL_USER_USERNAME", $me->username);
$cifurl_base = "";
foreach(PreorderModel::search(["status_code" => 145]) as $preorder) {
if($preorder->ciftoken) continue;
$preorder->createCiftoken();
if(!$preorder->ciftoken) {
die("Ciftoken konnte nicht erstellt werden.\n");
}
$preorder->cifurl = $preorder->generateCifUrl();
$preorder->cifcableurl = $preorder->generateCifCableUrl();
//var_dump($preorder);exit;
$preorder->save();
}