Delete existing jobs on editting experiments + disable form

This commit is contained in:
Eike Foken
2011-09-28 17:08:15 +02:00
parent 7b65d0d243
commit 542e99c372
3 changed files with 40 additions and 7 deletions

View File

@@ -157,18 +157,28 @@ class Experiments extends MY_Controller {
show_404(); show_404();
} }
$this->load->helper('typography'); $job = $this->job->getByExperimentId($experiment['id']);
// update parameters // update parameters
foreach ($_POST as $key => $value) { foreach ($_POST as $key => $value) {
if (preg_match('/^param-[0-9a-z]+/', $key)) { 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['experiment'] = $experiment;
$data['parameters'] = $this->experiment->getParameters($experiment['id']); $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']); $data['project'] = $this->project->getById($experiment['project_id']);
$this->load->view('experiments/detail', $data); $this->load->view('experiments/detail', $data);

View File

@@ -127,7 +127,7 @@ class Experiment extends CI_Model {
$this->db->delete('experiments_parameters'); $this->db->delete('experiments_parameters');
} }
return $this->db->affected_rows() > 0; return true;
} }
/** /**

View File

@@ -15,10 +15,12 @@
<p> <p>
<?php <?php
if (isset($job['id'])): if (isset($job['id'])):
$disabled = ($job['started_at'] != '0000-00-00 00:00:00') ? true : false;
?> ?>
<a class="button disabled job_start"><?=_('Start job');?></a> <a class="button disabled job_start"><?=_('Start job');?></a>
<?php <?php
else: else:
$disabled = false
?> ?>
<a href="<?=site_url('jobs/start/' . $experiment['id']);?>" class="button job_start"><?=_('Start job');?></a> <a href="<?=site_url('jobs/start/' . $experiment['id']);?>" class="button job_start"><?=_('Start job');?></a>
<?php <?php
@@ -31,7 +33,13 @@
</div> </div>
<div class="box"> <div class="box">
<?php
if (!$disabled):
?>
<form name="editExperiment" method="post" action="<?=site_url('experiments/detail/' . $experiment['id']);?>"> <form name="editExperiment" method="post" action="<?=site_url('experiments/detail/' . $experiment['id']);?>">
<?php
endif;
?>
<h3><?=_('Configuration');?></h3> <h3><?=_('Configuration');?></h3>
<table class="tableList"> <table class="tableList">
<thead> <thead>
@@ -48,7 +56,7 @@
<tr> <tr>
<td width="40%"><?=$param['readable'];?></td> <td width="40%"><?=$param['readable'];?></td>
<td width="41%"> <td width="41%">
<input type="text" name="param-<?=$param['parameter_id'];?>" class="long text" value="<?=(!empty($_POST['param-' . $param['parameter_id']]) ? $this->input->post('param-' . $param['parameter_id']) : $param['value']);?>" /> <input type="text" name="param-<?=$param['parameter_id'];?>" class="long text" value="<?=(!empty($_POST['param-' . $param['parameter_id']]) ? $this->input->post('param-' . $param['parameter_id']) : $param['value']);?>"<?=($disabled) ? ' disabled="disabled"' : '';?> />
<?php <?php
if (!empty($param['description'])): if (!empty($param['description'])):
?> ?>
@@ -67,10 +75,25 @@
?> ?>
</tbody> </tbody>
</table> </table>
<?php
if ($disabled):
?>
<p>
<a class="button save disabled"><?=_('Save changes');?></a>
<p>
<?php
else:
?>
<p>
<strong><?=_('Note');?>:</strong> <?=_('The existing job will be deleted.');?>
</p>
<p> <p>
<a href="javascript:void(0);" onclick="$('form[name=editExperiment]').submit();" class="button save"><?=_('Save changes');?></a> <a href="javascript:void(0);" onclick="$('form[name=editExperiment]').submit();" class="button save"><?=_('Save changes');?></a>
</p> </p>
</form> </form>
<?php
endif;
?>
</div> </div>
<?php <?php
@@ -79,7 +102,7 @@
<div class="box"> <div class="box">
<h3><?=_('Job details');?></h3> <h3><?=_('Job details');?></h3>
<p> <p>
<strong><?=_('Date started');?>:</strong> <?=relative_time($job['started_at']);?><br /> <strong><?=_('Date started');?>:</strong> <?=relative_time($job['created_at']);?><br />
<strong><?=_('Starter');?>:</strong> <?=anchor('users/profile/' . urldecode($job['username']), $job['firstname'] . ' ' . $job['lastname']);?><br /> <strong><?=_('Starter');?>:</strong> <?=anchor('users/profile/' . urldecode($job['username']), $job['firstname'] . ' ' . $job['lastname']);?><br />
<strong><?=_('Server');?>:</strong> <?=(!empty($job['server'])) ? anchor('admin/servers/detail/' . urldecode($job['server']), $job['server']) : _('Not yet picked');?> <strong><?=_('Server');?>:</strong> <?=(!empty($job['server'])) ? anchor('admin/servers/detail/' . urldecode($job['server']), $job['server']) : _('Not yet picked');?>