From 542e99c372e1cb3eecb7fd007821c7ffec4036ad Mon Sep 17 00:00:00 2001 From: Eike Foken Date: Wed, 28 Sep 2011 17:08:15 +0200 Subject: [PATCH] Delete existing jobs on editting experiments + disable form --- application/controllers/experiments.php | 18 ++++++++++++---- application/models/experiment.php | 2 +- application/views/experiments/detail.php | 27 ++++++++++++++++++++++-- 3 files changed, 40 insertions(+), 7 deletions(-) diff --git a/application/controllers/experiments.php b/application/controllers/experiments.php index 8fd5f92..23f5750 100644 --- a/application/controllers/experiments.php +++ b/application/controllers/experiments.php @@ -157,18 +157,28 @@ class Experiments extends MY_Controller { show_404(); } - $this->load->helper('typography'); - + $job = $this->job->getByExperimentId($experiment['id']); + // update parameters foreach ($_POST as $key => $value) { if (preg_match('/^param-[0-9a-z]+/', $key)) { - $this->experiment->updateParameter($this->input->post($key), $experiment['id'], substr($key, 6, 16)); + $result = $this->experiment->updateParameter($this->input->post($key), $experiment['id'], substr($key, 6, 16)); } } + // delete existing jobs + if (isset($result) && $result === true) { + if (isset($job['id'])) { + $this->job->delete($job['id']); + } + redirect('experiments/detail/' . $experiment['id'], 303); + } + + $this->load->helper('typography'); + $data['experiment'] = $experiment; $data['parameters'] = $this->experiment->getParameters($experiment['id']); - $data['job'] = $this->job->getByExperimentId($experiment['id']); + $data['job'] = $job; $data['project'] = $this->project->getById($experiment['project_id']); $this->load->view('experiments/detail', $data); diff --git a/application/models/experiment.php b/application/models/experiment.php index 26c0313..d2d6adf 100644 --- a/application/models/experiment.php +++ b/application/models/experiment.php @@ -127,7 +127,7 @@ class Experiment extends CI_Model { $this->db->delete('experiments_parameters'); } - return $this->db->affected_rows() > 0; + return true; } /** diff --git a/application/views/experiments/detail.php b/application/views/experiments/detail.php index 5a8709a..64f5451 100644 --- a/application/views/experiments/detail.php +++ b/application/views/experiments/detail.php @@ -15,10 +15,12 @@

+
+

@@ -48,7 +56,7 @@
- + /> @@ -67,10 +75,25 @@ ?>
+ +

+ +

+ +

+ : +

+

- :
+ :
:
: