public function editAction() { parent::ajaxEnabled(); $modelWorkouts = new Model_Workouts(); $modelUsers = new Model_Users(); $form = self::getWorkoutsEditForm(); $form->setUsers($modelUsers->fetchAll()->toArray()); $workoutId = $this->_getParam('workoutId'); $workoutId = (int) $workoutId; if ($workoutId) { $populateData = array(); $workout = $modelWorkouts->fetch($workoutId); if (count($workout) > 0) { $populateData = $workout->toArray(); } $form->populate($populateData); $form->setHidden($workoutId); } $request = $this->getRequest(); if ($request->isPost()) { $post = $request->getPost(); if ($form->isValid($post)) { $values = $form->getValues(); $mode = null; if ($workoutId) { $modelWorkouts->update($workoutId, $values); $insertId = $workoutId; $mode = 'edit'; } else { $insertId = $modelWorkouts->insert($values); $mode = 'add'; } $workoutInfo = $modelWorkouts->fetch($insertId); $dateFormat = new vkNgine_View_Helper_Dateformat(); $newRow = array('mode' => $mode, 'itemId' => $insertId, 'name' => $workoutInfo->name, 'startDate' => $workoutInfo->startDate, 'startDateFormatted' => $dateFormat->dateFormat($workoutInfo->startDate, Zend_Date::DATE_FULL), 'endDate' => $workoutInfo->endDate, 'endDateFormatted' => $dateFormat->dateFormat($workoutInfo->endDate, Zend_Date::DATE_FULL), 'rowId' => 'workout-', 'templateName' => 'workoutsTemplate', 'Save' => $this->t->_('Save'), 'Cancel' => $this->t->_('Cancel'), 'Yes' => $this->t->_('Yes'), 'No' => $this->t->_('No'), 'Never' => $this->t->_('Never'), 'href' => $this->_helper->url('edit', 'workouts'), 'title' => $this->t->_('Workout is being edited'), 'tagTitle' => $this->t->_('Edit this workout'), 'tagTitleDelete' => $this->t->_('Delete this workout'), 'tagTitleAddExercise' => $this->t->_('Add Exercise to this Workout')); echo Zend_Json::encode(array('success' => 1, 'newRow' => $newRow, 'dialog' => 'btn-editworkout-dialog', 'row' => true, 'title' => $this->t->_('Success Message'), 'message' => sprintf($this->t->_('%s was successfully added'), $values['name']), 'icon' => 'success')); exit; } else { $error = $form->getErrors(); echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('Please fill out all required fields'), 'icon' => 'error')); exit; } } $this->view->form = $form; }
public function editWorkoutAction() { parent::ajaxEnabled(true); $id = $this->_getParam('workoutId'); $form = self::getEditWorkoutForm(); $modelWorkouts = new Model_Workouts(); if ($id) { $populateData = array(); $workout = $modelWorkouts->fetch($id); if (count($workout) > 0) { $populateData = $workout->toArray(); $populateData['startDate'] = $workout->startDate == '0000-00-00' ? '' : $workout->startDate; $populateData['endDate'] = $workout->endDate == '0000-00-00' ? '' : $workout->endDate; } $form->populate($populateData); $form->setHidden($id); } $request = $this->getRequest(); if ($request->isPost()) { $post = $request->getPost(); if ($form->isValid($post)) { $values = $form->getValues(); if ($id) { $modelWorkouts->update($id, $values); } else { $values['userId'] = $this->user->getId(); $id = $modelWorkouts->insert($values); } echo Zend_Json::encode(array('success' => 1)); exit; } else { echo Zend_Json::encode(array('title' => $this->t->_('Error Message'), 'message' => $this->t->_('At least one field must be filled'), 'icon' => 'error')); exit; } } $this->view->form = $form; }