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;
 }