diff --git a/ActiveCommand.cpp b/ActiveCommand.cpp index 54ce5f0..18038ae 100644 --- a/ActiveCommand.cpp +++ b/ActiveCommand.cpp @@ -22,11 +22,7 @@ namespace commands const User* u = mgr->get_user(user_id); if (!u) throw Error(401, "Eine solche BenutzerIn existiert nicht."); - for (const Assignment* a : mgr->get_assignments_for_user(user_id)) { - //Ist der Related Task ein Aktiver Task? - if (mgr->get_task(a->get_task_id())->is_active()) { - cout << a->get_task_id() << "\n"; - } - } + for (const Assignment* a : mgr->get_assignments_for_user(user_id)) + cout << a->get_task_id() << "\n"; } } // commands diff --git a/Manager.cpp b/Manager.cpp index d69424e..d2fee62 100644 --- a/Manager.cpp +++ b/Manager.cpp @@ -250,16 +250,12 @@ namespace util throw Error(202, "Aufgabe kann nicht gelöscht werden."); } //TODO: Zudem kann eine Aufgabe nur gelöscht werden, wenn Sie nicht Nachfolgerin einer anderen Aufgabe ist -> Ensure its no Child - /*for (Task* task : this->get_tasks()) { + for (Task* task : this->get_tasks()) { for (int child_id : task->get_children()) { if (id == child_id) { throw Error(202, "Aufgabe kann nicht gelöscht werden."); } } - }*/ - if (! this->get_task(id)->is_active()) { - throw Error(202, "Aufgabe kann nicht gelöscht werden."); - } this->tasks.erase(id); } @@ -269,7 +265,7 @@ namespace util if (!this->assignment_exists(as.get_user_id(), as.get_task_id())) throw Error(301, "Eine solche Zuordnung existiert nicht."); int assignment_nr = 0; - for (int i = 0; i < this->assignments.size(); ++i) { + for (int i = 0; i < this->assignments.size() - 1; ++i) { if (this->assignments[i]->get_user_id() == as.get_user_id() && this->assignments[i]->get_task_id() == as.get_task_id()) { assignment_nr = i; break; diff --git a/Task.cpp b/Task.cpp index 0d9ca83..9966e45 100644 --- a/Task.cpp +++ b/Task.cpp @@ -31,26 +31,9 @@ namespace models return stream; } - int Task::get_id() const { return this->id; } - - /** - * Diese Methode überprüft ob der Task Aktiv ist ( Nicht Nachfolger einer anderen Klass ist) - * @return bool - */ - bool Task::is_active() const { - - Manager* mgr = Manager::get_instance(); - for (Task* task : mgr->get_tasks()) { - for (int child_id : task->get_children()) { - // Aktiver Task ist Child von Einem andern Task -> Nicht aktiv - if (this->id == child_id) { - // cout << this->id << " = " << child_id << endl; - return false; - } - } - } - //Kein Child-> Aktiv - return true; + int Task::get_id() const + { + return this->id; } string Task::get_name() const diff --git a/Task.h b/Task.h index ed3f723..24cb492 100644 --- a/Task.h +++ b/Task.h @@ -28,7 +28,6 @@ namespace models istream& read(istream&); int get_id() const; - bool is_active() const; string get_name() const; string get_description() const; vector get_children() const;