public function newPostView(WorkerModel $worker) { $result = $worker->validate(); $valid = $result === TRUE; if ($valid) { $pdo = db_connect(); if ($worker->id) { $q = $pdo->prepare(' UPDATE worker SET name = :name, password = :password WHERE id = :id '); $q_args = array( ':name' => $worker->name, ':password' => $worker->password, ':id' => $worker->id ); } else { $q = $pdo->prepare(' INSERT INTO worker (name, password) VALUES (:name, :password) '); $q_args = array( ':name' => $worker->name, ':password' => $worker->password ); } $result = $q->execute($q_args); if (!$result) { $_SESSION['tempdata']['errors'][] = sprintf('Unable to %s worker. A worker with the same name probably exists.', $worker->id ? 'modify' : 'create'); $valid = false; } } else { $_SESSION['tempdata']['errors'] = array_merge((array)$_SESSION['tempdata']['errors'], $result); } if (!$valid) { return new AdminWorkerNewEditView(array('worker' => $worker)); } $_SESSION['tempdata']['info'][] = $worker->id ? 'Changes saved.' : 'Worker created.'; return new RedirectView('/admin/workers.php'); }
public function delete() { $view = new ViewModel('admin/workers'); $workerModel = new WorkerModel(); try { $view->assign('workers', $workerModel->deleteWorker($_POST['delete'], $_POST['function'])); } catch (PDOException $e) { $view->assign('workers', array()); $view->assign('message-type', 'error'); $view->assign('message', 'Nie można usunąć pracownika. Sprawdź czy nie jest powiązany z przesyłką lub zleceniem!'); $view->display(); return; } $view->assign('message-type', 'info'); $view->assign('message', 'Usunięto pracownika!'); $view->display(); }