/** * Manage repository users * * @param void * @return null */ function repository_users() { if ($this->active_repository->isNew()) { flash_error('Repository does not exist'); $this->redirectToReferer(SOURCE_MODULE_PATH); } // if if (!$this->active_repository->canEdit($this->logged_user)) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if $this->wireframe->addPageAction(lang('Browse repository'), $this->active_repository->getBrowseUrl(), null); $this->wireframe->addPageAction(lang('Commit History'), $this->active_repository->getHistoryUrl()); $source_users = SourceUsers::findByRepository($this->active_repository); $distinct_repository_users = $this->active_repository->getDistinctUsers(); // loop through already mapped users and remove them from repository users foreach ($source_users as $source_user) { $mapped_user_key = array_search($source_user->getRepositoryUser(), $distinct_repository_users); if ($mapped_user_key !== false) { unset($distinct_repository_users[$mapped_user_key]); } // if } // foreach $this->smarty->assign(array('source_users' => $source_users, 'repository_users' => $distinct_repository_users, 'system_users' => ProjectUsers::findByProject($this->active_project), 'repository_user_add_url' => assemble_url('repository_user_add', array('project_id' => $this->active_project->getId(), 'repository_id' => $this->active_repository->getId())))); }
/** * View the repository * */ function view() { if ($this->active_repository->isNew()) { $this->httpError(HTTP_ERR_NOT_FOUND); } // if if (!$this->active_repository->canView($this->logged_user)) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if $this->addBreadcrumb(str_excerpt(clean($this->active_repository->getName()), 10), mobile_access_module_get_view_url($this->active_repository)); $this->addBreadcrumb(lang('View')); $per_page = 20; $page = intval(array_var($_GET, 'page')) > 0 ? array_var($_GET, 'page') : 1; list($commits, $pagination) = Commits::paginateByRepository($this->active_repository, $page, $per_page); $commits = group_by_date($commits); $this->smarty->assign(array('pagination' => $pagination, 'commits' => $commits, 'pagination_url' => assemble_url('mobile_access_view_repository', array('object_id' => $this->active_repository->getId(), 'project_id' => $this->active_project->getId())), 'page_back_url' => assemble_url('mobile_access_view_project', array('project_id' => $this->active_project->getId())))); }
/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->asfGuardUser !== null) { if ($this->asfGuardUser->isModified() || $this->asfGuardUser->isNew()) { $affectedRows += $this->asfGuardUser->save($con); } $this->setsfGuardUser($this->asfGuardUser); } if ($this->aRepository !== null) { if ($this->aRepository->isModified() || $this->aRepository->isNew()) { $affectedRows += $this->aRepository->save($con); } $this->setRepository($this->aRepository); } if ($this->aBranch !== null) { if ($this->aBranch->isModified() || $this->aBranch->isNew()) { $affectedRows += $this->aBranch->save($con); } $this->setBranch($this->aBranch); } if ($this->aFile !== null) { if ($this->aFile->isModified() || $this->aFile->isNew()) { $affectedRows += $this->aFile->save($con); } $this->setFile($this->aFile); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } $this->alreadyInSave = false; } return $affectedRows; }
/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aRepository !== null) { if ($this->aRepository->isModified() || $this->aRepository->isNew()) { $affectedRows += $this->aRepository->save($con); } $this->setRepository($this->aRepository); } if ($this->asfGuardUser !== null) { if ($this->asfGuardUser->isModified() || $this->asfGuardUser->isNew()) { $affectedRows += $this->asfGuardUser->save($con); } $this->setsfGuardUser($this->asfGuardUser); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } if ($this->commentsScheduledForDeletion !== null) { if (!$this->commentsScheduledForDeletion->isEmpty()) { CommentQuery::create()->filterByPrimaryKeys($this->commentsScheduledForDeletion->getPrimaryKeys(false))->delete($con); $this->commentsScheduledForDeletion = null; } } if ($this->collComments !== null) { foreach ($this->collComments as $referrerFK) { if (!$referrerFK->isDeleted()) { $affectedRows += $referrerFK->save($con); } } } if ($this->filesScheduledForDeletion !== null) { if (!$this->filesScheduledForDeletion->isEmpty()) { FileQuery::create()->filterByPrimaryKeys($this->filesScheduledForDeletion->getPrimaryKeys(false))->delete($con); $this->filesScheduledForDeletion = null; } } if ($this->collFiles !== null) { foreach ($this->collFiles as $referrerFK) { if (!$referrerFK->isDeleted()) { $affectedRows += $referrerFK->save($con); } } } if ($this->statusActionsScheduledForDeletion !== null) { if (!$this->statusActionsScheduledForDeletion->isEmpty()) { StatusActionQuery::create()->filterByPrimaryKeys($this->statusActionsScheduledForDeletion->getPrimaryKeys(false))->delete($con); $this->statusActionsScheduledForDeletion = null; } } if ($this->collStatusActions !== null) { foreach ($this->collStatusActions as $referrerFK) { if (!$referrerFK->isDeleted()) { $affectedRows += $referrerFK->save($con); } } } $this->alreadyInSave = false; } return $affectedRows; }