checkCSRFParam(); $project = $this->getProject(); if (! $this->helper->user->hasProjectAccess('ProjectEditController', 'edit', $project['id'])) { throw new AccessForbiddenException(); } $key = FinanceHelper::HIDE_TOTAL_PREFIX.$this->request->getIntegerParam('column_id'); // Store the literal 'on'/'off' (both non-empty) rather than 1/0, so the flag is never lost // to PHP's empty("0") === true on the metadata save. $hidden = $this->projectMetadataModel->get($project['id'], $key, FinanceHelper::HIDE_TOTAL_OFF) === FinanceHelper::HIDE_TOTAL_ON; $this->projectMetadataModel->save($project['id'], array($key => $hidden ? FinanceHelper::HIDE_TOTAL_OFF : FinanceHelper::HIDE_TOTAL_ON)); $this->response->redirect($this->helper->url->to('BoardViewController', 'show', array('project_id' => $project['id']))); } }