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
"; $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()); } }