Ejemplo n.º 1
0
 /**
  * Check if it is an update or delete to tags
  * @param String $path
  *
  * @return Boolean
  */
 private function isCommitDoneInImmutableTag(Project $project, $path)
 {
     $immutable_paths = explode(PHP_EOL, $this->handler->getImmutableTagsPathForProject($project->getID()));
     foreach ($immutable_paths as $immutable_path) {
         if ($this->isCommitForbidden($project, $immutable_path, $path)) {
             return true;
         }
     }
     return false;
 }
Ejemplo n.º 2
0
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Tuleap; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
$immutable_tags_handler = new SVN_Immutable_Tags_Handler(new SVN_Immutable_Tags_DAO());
$request->valid(new Valid_String('post_changes'));
$request->valid(new Valid_String('SUBMIT'));
if ($request->isPost() && $request->existAndNonEmpty('post_changes')) {
    $vImmutableTagsWhitelist = new Valid_Text('immutable-tags-whitelist');
    $vImmutableTagsPath = new Valid_Text('immutable-tags-path');
    if ($request->valid($vImmutableTagsWhitelist) && $request->valid($vImmutableTagsPath)) {
        $immutable_tags_whitelist = trim($request->get('immutable-tags-whitelist'));
        $immutable_tags_path = trim($request->get('immutable-tags-path'));
        $immutable_tags_handler->saveImmutableTagsForProject($group_id, $immutable_tags_whitelist, $immutable_tags_path);
    } else {
        $GLOBALS['Response']->addFeedback('error', $Language->getText('svn_admin_general_settings', 'upd_fail'));
    }
    $GLOBALS['Response']->redirect('/svn/admin/?func=immutable_tags&group_id=' . $group_id);
}
// Display the form
svn_header_admin(array('title' => $Language->getText('svn_admin_immutable_tags', 'title'), 'help' => 'svn.html#subversion-administration-interface'));
$pm = ProjectManager::instance();
$project = $pm->getProject($group_id);
$template_dir = ForgeConfig::get('codendi_dir') . '/src/templates/svn/';
$renderer = TemplateRendererFactory::build()->getRenderer($template_dir);
$svnlook = new SVN_Svnlook();
$presenter = new SVN_ImmutableTagsPresenter($project, $immutable_tags_handler->getImmutableTagsWhitelistForProject($group_id), $immutable_tags_handler->getImmutableTagsPathForProject($group_id), $svnlook->getTree($project));
$renderer->renderToPage('immutable-tags', $presenter);
svn_footer(array());