Exemple #1
0
 function edit(Default_Model_RecurrentExpenses $model)
 {
     $expenseId = new Zend_Form_Element_Hidden('expenseId');
     $expenseId->setValue($model->getId());
     $this->addElement($expenseId);
     $this->name->setValue($model->getName());
     $this->name->setLabel(Zend_Registry::get('translate')->_('admin_name'));
     $this->price->setValue($model->getPrice());
     $this->price->setLabel(Zend_Registry::get('translate')->_('admin_price'));
     $this->date->setValue(date('m/d/Y', strtotime($model->getDate())));
     $this->date->setLabel('Date');
     $productGroups = new Default_Model_ProductGroups();
     $select = $productGroups->getMapper()->getDbTable()->select()->where('idProduct=?', $model->getId())->where('repeated=?', 1);
     $result = $productGroups->fetchAll($select);
     if (NULL != $result) {
         foreach ($result as $value) {
             $options[$value->getId()] = $value->getIdGroup();
         }
     }
     $this->idGroup->setValue($options);
     $this->idGroup->setLabel(Zend_Registry::get('translate')->_('category'));
     $this->submit->setValue(Zend_Registry::get('translate')->_('admin_edit_recurrent_expense'));
 }
Exemple #2
0
 public function save(Default_Model_RecurrentExpenses $value)
 {
     $data = array('idMember' => Zend_Registry::get('user')->getId(), 'idGroup' => $value->getIdGroup(), 'name' => $value->getName(), 'price' => $value->getPrice(), 'date' => $value->getDate(), 'datePaid' => $value->getDatePaid(), 'type' => $value->getType(), 'deleted' => '0');
     $action_done = '';
     if (null === ($id = $value->getId())) {
         $data['created'] = new Zend_Db_Expr('NOW()');
         $id = $this->getDbTable()->insert($data);
         //logs	action done
         //$user_name = $value->getUserName()->getName().' '.$value->getUserName()->getSurname();
         $user_name = "User";
         $product_name = $value->getName();
         $action_done = ' ' . $user_name . ' a adaugat proiectul ' . $product_name . ' ';
         //$value->getIdUser() adaugat in baza de date ca 0
         Needs_Logs::DbLogTracking(Zend_Registry::get('user')->getId(), $id, 'products', 'adaugare', $action_done);
         //end logs action done
     } else {
         $data['modified'] = new Zend_Db_Expr('NOW()');
         $this->getDbTable()->update($data, array('id = ?' => $id));
         //logs	action done
         //$user_name = $value->getUserName()->getName().' '.$value->getUserName()->getSurname();
         $product_name = $value->getName();
         $user_name = "User";
         $action_done = '' . $user_name . ' modified the product ' . $product_name . ' ';
         Needs_Logs::DbLogTracking(Zend_Registry::get('user')->getId(), $id, 'products', 'editare', $action_done);
         //end logs action done
     }
     return $id;
 }
Exemple #3
0
 function cronjob($runHours = 'month')
 {
     $updatedRE = false;
     //Get Time
     $now = date('Y-m-d');
     //data de azi
     //Convert Time
     $model = new Default_Model_RecurrentExpenses();
     $select = $model->getMapper()->getDbTable()->select()->where('NOT `deleted`');
     $result = $model->fetchAll($select);
     if ($result) {
         foreach ($result as $values) {
             $date = $values->getDatePaid() ? $values->getDatePaid() : $values->getDate();
             //1 mai 2014
             $day = date('d', strtotime($date));
             $feb = date('L', strtotime($date)) ? 29 : 28;
             //an bisect
             $days = array(0, 31, $feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31);
             //nr zile pe luna
             //$month=array(1,2,3,4,5,6,7,8,9,10,11,12);
             $newdate = strtotime('+' . $days[date('n', strtotime($date))] . ' days', strtotime($date));
             if ($day < 29 && $day > 1) {
                 $newdate = date('Y-m', $newdate) . "-{$day}";
             } else {
                 if (date('n', strtotime($date)) == 1) {
                     //january
                     if ($feb == 29) {
                         $newdate = date('Y-02') . "-" . ($day == 1 ? '01' : '29');
                     } else {
                         $newdate = date('Y-02') . "-" . ($day == 1 ? '01' : '28');
                     }
                 } else {
                     if ($days[date('n', strtotime($date))] > $days[date('n', strtotime($date)) + 1] && $day > 1) {
                         $newdate = date('Y-m-d', strtotime('+' . $days[date('n', strtotime($date)) + 1] . ' days', strtotime($date)));
                     } else {
                         $newdate = date('Y-m-d', $newdate);
                     }
                 }
                 //$newdate=date ( 'Y-m-d' , $newdate );
             }
             if ($newdate <= date('Y-m-d')) {
                 $model->find($values->getId());
                 $model->setDatePaid($newdate);
                 if ($model->save()) {
                     $modelExpenses = new Default_Model_Expenses();
                     $modelExpenses->setIdMember($model->getIdMember());
                     $modelExpenses->setName($model->getName());
                     $modelExpenses->setPrice($model->getPrice());
                     $modelExpenses->setType($model->getType());
                     $modelExpenses->setDate($model->getDatePaid());
                     if ($expenseId = $modelExpenses->save()) {
                         $productGroups = new Default_Model_ProductGroups();
                         $select = $productGroups->getMapper()->getDbTable()->select()->where('idProduct=?', $model->getId())->where('repeated=?', 1);
                         $result = $productGroups->fetchRow($select);
                         if (NULL != $result) {
                             $idGroup = $result->getIdGroup();
                             $productGroups->setIdProduct($expenseId);
                             $productGroups->setIdGroup($idGroup);
                             $productGroups->setId('');
                             $productGroups->setRepeated(0);
                             $productGroups->save();
                         }
                     }
                     $updatedRE = true;
                 }
             }
         }
     }
     return $updatedRE;
 }