/** * Return object connected with this action, that is not equal to the one received * * @access public * @param ProjectDataObject $object * @return ProjectDataObject */ function getOtherObject($object) { if (($object->getObjectId()!= $this->getObjectId()) ) { return Objects::findObject($this->getObjectId()); } else { return Objects::findObject($this->getRelObjectId()); } } // getObject
/** * Return object connected with this action, that is not equal to the one received * * @access public * @param ProjectDataObject $object * @return ProjectDataObject */ function getOtherObject($object) { if (get_class($object->manager()) != $this->getObjectManager() || $object->getObjectId() != $this->getObjectId()) { return get_object_by_manager_and_id($this->getObjectId(), $this->getObjectManager()); } else { return get_object_by_manager_and_id($this->getRelObjectId(), $this->getRelObjectManager()); } }
static function DeleteFromIndex(ProjectDataObject $object, $commitOnEnd = true){ $term = new Zend_Search_Lucene_Index_Term(get_class($object->manager()) . $object->getObjectId(), 'id'); foreach (self::GetIndex()->termDocs($term) as $id) self::GetIndex()->delete($id); if ($commitOnEnd) self::GetIndex()->commit(); }
/** * Return add comment URL for specific object * * @param ProjectDataObject $object * @return string */ static function getAddUrl(ProjectDataObject $object) { return get_url('comment', 'add', array('object_id' => $object->getObjectId(), 'object_manager' => get_class($object->manager()), 'active_project' => $object->getProject()->getId())); // get_url }
/** * Update is_private flag value for all previous related log entries related with specific object * * This method is called whenever we need to add new log entry. It will keep old log entries related to that specific * object with current is_private flag value by updating all of the log entries to new value. * * @param ProjectDataObject $object * @return boolean */ static function setIsPrivateForObject(ProjectDataObject $object) { return DB::execute('UPDATE ' . ApplicationLogs::instance()->getTableName(true) . ' SET `is_private` = ? WHERE `rel_object_id` = ? AND `rel_object_manager` = ?', $object->isPrivate(), $object->getObjectId(), get_class($object->manager())); // execute }
/** * Drop comments by object * * @param ProjectDataObject * @return boolean */ static function dropCommentsByObject(ProjectDataObject $object) { return Comments::delete(array('`rel_object_manager` = ? AND `rel_object_id` = ?', get_class($object->manager()), $object->getObjectId())); }
/** * Clear all relations by object * * @param ProjectDataObject * @return boolean */ static function clearRelationsByObject(ProjectDataObject $object) { return self::delete(array('`rel_object_manager` = ? AND `rel_object_id` = ?', get_class($object->manager()), $object->getObjectId())); }
/** * Return tags for specific object * * @access public * @param ProjectDataObject $object * @param string $manager_class * @return array */ function getTagsByObject(ProjectDataObject $object, $manager_class) { return self::findAll(array('conditions' => array('`rel_object_id` = ? AND `rel_object_manager` = ?', $object->getObjectId(), get_class($object->manager())), 'order' => '`tag`')); // findAll }
/** * Return add BillingCategory URL for specific object * * @param ProjectDataObject $object * @return string */ static function getAddUrl(ProjectDataObject $object) { return get_url('billing', 'add', array( 'object_id' => $object->getObjectId(), 'object_manager' => get_class($object->manager()) )); // get_url } // getAddUrl
/** * Reaturn pending handins that an object has * * @param ProjectDataObject $object * @return array */ static function getPendingHandinsByObject(ProjectDataObject $object) { return self::getAllHandinsByIdAndManager($object->getObjectId(), get_class($object->manager()), true); }
static function getAddTimespanUrl(ProjectDataObject $object) { return get_url('timeslot', 'add_timespan', array('object_id' => $object->getObjectId(), 'object_manager' => get_class($object->manager()))); // get_url }
/** * Drop timeslots by object * * @param ProjectDataObject * @return boolean */ static function dropTimeslotsByObject(ProjectDataObject $object) { return self::delete(array('`object_manager` = ? AND `object_id` = ?', get_class($object->manager()), $object->getObjectId())); }