/** * @todo Optimalization. Calculate range between current time and time * of event, and calculate how much days/weeks/months/years has passed * between this values, and call one time strtotime fn, instead of * multiple times, for every interval. I.e. first call * strtotime('+ 4 weeks'), and then, in do...while loop, call * every time, for every interval, like now. One call for 4 weeks, is * quickly, than calls 4 times, for 1 week. */ public function allFromRange($from, $to) { $events = parent::selectQuery('SELECT * FROM ' . $this->dbTable . ' WHERE owner = ' . $this->user()->getId() . ' AND `start` >= ' . $from . ' AND `start` <= ' . $to . ' AND `repeat` = 0 ORDER BY `start` ASC'); $repeated = parent::selectQuery('SELECT * FROM ' . $this->dbTable . ' WHERE owner = ' . $this->user()->getId() . ' AND `repeat` = 1 AND `start` <= ' . $to . ' ORDER BY `start` ASC'); foreach ($repeated as $event) { $checkFrom = $event->getStart(); $checkTo = $event->getEnd(); if ($checkFrom >= $from && $checkFrom <= $to) { $events[] = clone $event; } // For 2 days if ($event->getRepeatType() == 2) { $interval = '+ 2 days'; } elseif ($event->getRepeatType() == 3) { $interval = '+ 1 week'; } elseif ($event->getRepeatType() == 4) { $interval = '+ 2 weeks'; } elseif ($event->getRepeatType() == 5) { $interval = '+ 1 month'; } elseif ($event->getRepeatType() == 6) { $interval = '+ 3 months'; } elseif ($event->getRepeatType() == 7) { $interval = '+ 6 months'; } elseif ($event->getRepeatType() == 8) { $interval = '+ 1 year'; } else { $interval = '+ 1 day'; } do { $checkFrom = strtotime($interval, $checkFrom); $checkTo = strtotime($interval, $checkTo); if ($checkFrom >= $from && $checkFrom <= $to) { $new = clone $event; $new->setStart($checkFrom); $new->setEnd($checkTo); $events[] = $new; } } while ($checkFrom <= $to); } return $events; }
public function find($id) { $account = parent::find($id); if ($account && $account->getOwner() == $this->user()->getId()) { return $account; } else { return false; } }
public function getEndValue(Entity $entity, $field) { if ($field == 'owner') { $user = $this->repo('User', 'User')->find($entity->getOwner()); if ($user) { return $user->getName() . ' (ID:' . $entity->getOwner() . ')'; } else { return $entity->getOwner(); } } return parent::getEndValue($entity, $field); }
public function getEndValue(Entity $entity, $field) { switch ($field) { case 'createDate': return date('Y-m-d', $entity->getCreateDate()); break; case 'discount': return $entity->getDiscount() . ' %'; break; case 'tax': return $entity->getTax() . ' %'; break; } return parent::getEndValue($entity, $field); }
public function getEndValue(Entity $entity, $field) { switch ($field) { case 'releaseDate': return date('Y-m-d', $entity->getReleaseDate()); break; case 'sellDate': return date('Y-m-d', $entity->getSellDate()); break; case 'paymentDate': return date('Y-m-d', $entity->getPaymentDate()); break; case 'showShipment': return $entity->getShowShipment() == 1 ? $this->t('syes') : $this->t('sno'); break; case 'status': return $this->t('invoiceStatus' . $entity->getStatus()); break; case 'contractor': $contractor = $this->repo('Contractor', 'Contractor')->find($entity->getContractor()); if ($contractor) { return $contractor->getName(); } else { $entity->getContractor(); } break; case 'owner': $user = $this->repo('User', 'User')->find($entity->getOwner()); if ($user) { return $user->getName() . ' (ID:' . $entity->getOwner() . ')'; } else { return $entity->getOwner(); } break; } return parent::getEndValue($entity, $field); }
public function allForEdit() { return parent::selectQuery('SELECT * FROM ' . $this->dbTable . ' WHERE userFor = ' . $this->user()->getId() . ' OR userFrom = ' . $this->user()->getId() . ' ORDER BY ordering ASC'); }
public function findChildren($id) { return parent::findAll('parent = :parent ORDER BY name ASC', [':parent' => $id]); }
public function getEndValue(Entity $entity, $field) { if ($field == 'type') { if ($entity->getType() == 1) { return $this->t('contractorTypePerson'); } if ($entity->getType() == 2) { return $this->t('contractorTypeCompany'); } } if ($field == 'owner') { $user = $this->repo('User', 'User')->find($entity->getOwner()); if ($user) { return $user->getName() . ' (ID:' . $entity->getOwner() . ')'; } else { return $entity->getOwner(); } } return parent::getEndValue($entity, $field); }
/** * {@inheritdoc} */ public function getEndValue(Entity $entity, $field) { if ($field == 'tax') { $tax = $this->get('helper.tax')->get($entity->getTax()); if ($tax) { return $tax->name; } } if ($field == 'unit') { $unit = $this->get('helper.measureUnit')->name($entity->getUnit()); if ($unit) { return $unit; } } if ($field == 'sellStart') { return $this->datetime()->dateShort($entity->getSellStart()); } if ($field == 'sellEnd') { return $this->datetime()->dateShort($entity->getSellEnd()); } if ($field == 'supportStart') { return $this->datetime()->dateShort($entity->getSupportStart()); } if ($field == 'supportEnd') { return $this->datetime()->dateShort($entity->getSupportEnd()); } if ($field == 'sellAllowed') { return $entity->getSellAllowed() ? $this->t('syes') : $this->t('sno'); } if ($field == 'owner') { $user = $this->repo('User', 'User')->find($entity->getOwner()); if ($user) { return $user->getName() . ' (ID:' . $entity->getOwner() . ')'; } else { return $entity->getOwner(); } } return parent::getEndValue($entity, $field); }