redesign for mulituser
change validation concept (client and server) using entities
This commit is contained in:
83
app/Controllers/Scheduled.php
Normal file
83
app/Controllers/Scheduled.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers;
|
||||
use App\Models\mScheduled;
|
||||
use CodeIgniter\Session\Session;
|
||||
use CodeIgniter\API\ResponseTrait;
|
||||
include_once (dirname(__FILE__) . "/FormHandler.php");
|
||||
|
||||
class Scheduled extends FormHandler {
|
||||
use ResponseTrait;
|
||||
/**
|
||||
* @var Session
|
||||
*/
|
||||
protected $session;
|
||||
|
||||
public function __construct() {
|
||||
$this->session = service('session');
|
||||
}
|
||||
|
||||
public function new(bool $transfer=false){
|
||||
//log_message('debug','Bills::new');
|
||||
$eBooking = new \App\Entities\eBooking();
|
||||
$eBooking->transfer = $transfer;
|
||||
$eBooking->scheduled = true;
|
||||
$eBooking = $eBooking->getNew();
|
||||
return $this->viewBill($eBooking);
|
||||
}
|
||||
|
||||
public function edit(int $id){
|
||||
$scheduled = model('App\Models\mScheduled');
|
||||
$entry = $scheduled->getEntry($id);
|
||||
$eBooking = new \App\Entities\eBooking($entry);
|
||||
return $this->viewBill($eBooking);
|
||||
}
|
||||
|
||||
public function sync(){
|
||||
if (!$this->request->isAJAX()) return;
|
||||
$scheduled = model('App\Models\mScheduled');
|
||||
$schedules = $scheduled->findAll();
|
||||
$lines = "";
|
||||
foreach ( $schedules as $schedule ) {
|
||||
$cur_date = $schedule['next_date'];
|
||||
while ( strtotime( $cur_date ) <= strtotime( "now" ) ) {
|
||||
$data = (array)json_decode($schedule['data']);
|
||||
$data['id'] = 0; // to generate a new booking (overwrite id of scheduled DB)
|
||||
$data['scheduled'] = false;
|
||||
$eBooking = new \App\Entities\eBooking($data);
|
||||
$eBooking->datum = $cur_date;
|
||||
$lines .= " $cur_date - $eBooking->receiver <br/>";
|
||||
$eBooking->saveIt();
|
||||
$cur_date = $scheduled->calcNextDate( $cur_date, $data['scheduledNum'], $data['scheduledType']);
|
||||
}
|
||||
$scheduled->update($schedule['id'], ['next_date'=>$cur_date ]);
|
||||
}
|
||||
return $lines;
|
||||
}
|
||||
|
||||
public function viewScheduled(){
|
||||
helper('form');
|
||||
return view('scheduled');
|
||||
}
|
||||
|
||||
public function delete(){
|
||||
if ($this->request->is('post')) {
|
||||
log_message('debug',"delete id: ".$this->request->getPost("id"));
|
||||
if (!ctype_digit($this->request->getPost("id"))) return $this->failForbidden("Ungültige ID");
|
||||
$schmodel = model(mScheduled::class);
|
||||
$result = $schmodel->delete(intval($this->request->getPost("id")));
|
||||
if ($result !== true)
|
||||
return $this->fail("Database error ".$result);
|
||||
else
|
||||
return $this->respondDeleted(['url'=>session('redirect_url') ?? site_url('/'),'ID'=>$this->request->getPost("id")]);
|
||||
}
|
||||
return $this->failUnauthorized("Schäm Dich");
|
||||
}
|
||||
|
||||
public function getTabData(){
|
||||
if (!$this->request->isAJAX()) return;
|
||||
$scheduled = model('App\Models\mScheduled');
|
||||
return json_encode($scheduled->getEntries());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user