diff --git a/application/controllers/private/Projects.php b/application/controllers/private/Projects.php index e0f5c8c3..c4ae874b 100644 --- a/application/controllers/private/Projects.php +++ b/application/controllers/private/Projects.php @@ -164,6 +164,23 @@ function update_project() if (empty($fields['id'])) $this->ajax_output(array('message' => 'Requires project id'), false); + if (isset($fields['status']) && $fields['status'] == 'validation') + { + $this->load->library('catalog_item'); + $this->load->model('project_model'); + $project_search = $this->project_model->search( + array('projectid' => $fields['id']) + ); + + if (empty($project_search)) $this->ajax_output(array('message' => 'Project id not found'), false); + + $project_info = $project_search[0]; + + $project_info['status'] = $fields['status']; + + $debugdata = $this->catalog_item->alter_status($project_info); + } + if (isset($fields['status']) && $fields['status'] == 'complete') { $today = new DateTime(); diff --git a/application/libraries/Catalog_item.php b/application/libraries/Catalog_item.php index 7139a334..47c86cc4 100644 --- a/application/libraries/Catalog_item.php +++ b/application/libraries/Catalog_item.php @@ -52,6 +52,22 @@ public function alter_data($data) } + public function alter_status($data) + { + $retval = array(); + + $project_info = $this->ci->project_model->search(array('projectid' => $data['id']))[0]; + $project_info['status'] = $data['status']; + + $project_info = $this->_create_project_slug($project_info); + $project_id = $this->_update_or_insert('id', 'project_model', $project_info); + $retval['project_id'] = $project_id; + $retval['status'] = $project_info['status']; + $retval['url_librivox'] = $project_info['url_librivox']; + return $project_info; + } + + public function _prep_date($date_string) { // 0000-00-00 appears to break DateTime::createFromFormat (it returns