Split project edition into multiple pages

This commit is contained in:
Frederic Guillot
2016-01-24 18:15:21 -05:00
parent 4fa38bf417
commit abcfd02067
18 changed files with 244 additions and 127 deletions

View File

@@ -132,58 +132,6 @@ class Project extends Base
)));
}
/**
* Display a form to edit a project
*
* @access public
*/
public function edit(array $values = array(), array $errors = array())
{
$project = $this->getProject();
$this->response->html($this->projectLayout('project/edit', array(
'values' => empty($values) ? $project : $values,
'errors' => $errors,
'project' => $project,
'owners' => $this->projectUserRole->getAssignableUsersList($project['id'], true),
'title' => t('Edit project')
)));
}
/**
* Validate and update a project
*
* @access public
*/
public function update()
{
$project = $this->getProject();
$values = $this->request->getValues();
if (isset($values['is_private'])) {
if (! $this->helper->user->hasProjectAccess('project', 'create', $project['id'])) {
unset($values['is_private']);
}
} elseif ($project['is_private'] == 1 && ! isset($values['is_private'])) {
if ($this->helper->user->hasProjectAccess('project', 'create', $project['id'])) {
$values += array('is_private' => 0);
}
}
list($valid, $errors) = $this->projectValidator->validateModification($values);
if ($valid) {
if ($this->project->update($values)) {
$this->flash->success(t('Project updated successfully.'));
$this->response->redirect($this->helper->url->to('project', 'edit', array('project_id' => $project['id'])));
} else {
$this->flash->failure(t('Unable to update this project.'));
}
}
$this->edit($values, $errors);
}
/**
* Remove a project
*