Custom logging
[wsti_pai.git] / Projects / Controllers / ProjectTasksController.cs
index d738edc8e5d6691a565942f838797d4c9352b241..e28a4e57f4dbc92691a15f4b8be5bc63c87c213c 100644 (file)
@@ -37,10 +37,11 @@ namespace Projects.Controllers
         }
 
         // GET: ProjectTasks/Create
+        [Authorize]
         public ActionResult Create()
         {
             ViewBag.project_id = new SelectList(db.Projects, "id", "name");
-            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status");
+            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "id", "status");
             ViewBag.user_id = new SelectList(db.Users, "id", "login");
             return View();
         }
@@ -48,24 +49,28 @@ namespace Projects.Controllers
         // POST: ProjectTasks/Create
         // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
         // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
+        [Authorize]
         [HttpPost]
         [ValidateAntiForgeryToken]
         public ActionResult Create([Bind(Include = "id,project_id,name,description,created_at,updated_at,task_status_id,user_id")] ProjectTask projectTask)
         {
             if (ModelState.IsValid)
             {
+                projectTask.created_at = DateTime.Now;
+                projectTask.updated_at = DateTime.Now;
                 db.ProjectTasks.Add(projectTask);
                 db.SaveChanges();
                 return RedirectToAction("Index");
             }
 
             ViewBag.project_id = new SelectList(db.Projects, "id", "name", projectTask.project_id);
-            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status", projectTask.task_status_id);
+            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "id", "status", projectTask.task_status_id);
             ViewBag.user_id = new SelectList(db.Users, "id", "login", projectTask.user_id);
             return View(projectTask);
         }
 
         // GET: ProjectTasks/Edit/5
+        [Authorize]
         public ActionResult Edit(int? id)
         {
             if (id == null)
@@ -78,7 +83,7 @@ namespace Projects.Controllers
                 return HttpNotFound();
             }
             ViewBag.project_id = new SelectList(db.Projects, "id", "name", projectTask.project_id);
-            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status", projectTask.task_status_id);
+            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "id", "status", projectTask.task_status_id);
             ViewBag.user_id = new SelectList(db.Users, "id", "login", projectTask.user_id);
             return View(projectTask);
         }
@@ -86,23 +91,26 @@ namespace Projects.Controllers
         // POST: ProjectTasks/Edit/5
         // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
         // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
+        [Authorize]
         [HttpPost]
         [ValidateAntiForgeryToken]
-        public ActionResult Edit([Bind(Include = "id,project_id,name,description,created_at,updated_at,task_status_id,user_id")] ProjectTask projectTask)
+        public ActionResult Edit([Bind(Include = "id,project_id,name,description,task_status_id,user_id,created_at")] ProjectTask projectTask)
         {
             if (ModelState.IsValid)
             {
+                projectTask.updated_at = DateTime.Now;
                 db.Entry(projectTask).State = EntityState.Modified;
                 db.SaveChanges();
                 return RedirectToAction("Index");
             }
             ViewBag.project_id = new SelectList(db.Projects, "id", "name", projectTask.project_id);
-            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "int", "status", projectTask.task_status_id);
+            ViewBag.task_status_id = new SelectList(db.TaskStatuses, "id", "status", projectTask.task_status_id);
             ViewBag.user_id = new SelectList(db.Users, "id", "login", projectTask.user_id);
             return View(projectTask);
         }
 
         // GET: ProjectTasks/Delete/5
+        [Authorize(Roles = "admin")]
         public ActionResult Delete(int? id)
         {
             if (id == null)
@@ -118,6 +126,7 @@ namespace Projects.Controllers
         }
 
         // POST: ProjectTasks/Delete/5
+        [Authorize(Roles = "admin")]
         [HttpPost, ActionName("Delete")]
         [ValidateAntiForgeryToken]
         public ActionResult DeleteConfirmed(int id)