--- a/ForgeSVN/forgesvn/svn_main.py
+++ b/ForgeSVN/forgesvn/svn_main.py
@@ -1,6 +1,7 @@
#-*- python -*-
import logging
from pylons import c, request
+import pylons
# Non-stdlib imports
from ming.utils import LazyProperty
@@ -17,6 +18,7 @@
from allura.app import SitemapEntry, ConfigOption
from allura.lib import helpers as h
from allura import model as M
+from allura.lib import validators as V
# Local imports
from . import model as SM
@@ -97,8 +99,15 @@
@without_trailing_slash
@expose()
@require_post()
+ @validate(dict(checkout_url=V.CheckoutUrlValidator()))
def set_checkout_url(self, **post_data):
- self.app.config.options['checkout_url'] = post_data['checkout_url']
+ if not pylons.c.form_errors:
+ url = post_data['checkout_url'].replace(
+ self.app.repo.clone_url('ro', self.app), "")
+ self.app.config.options['checkout_url'] = url
+ else:
+ flash(pylons.c.form_errors["checkout_url"], "error")
+
class SVNImportController(BaseController):
import_form=widgets.ImportForm()