~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/userservice/__init__.py

Merge enforce-naming-constraints. Users, subjects, semesters, projects, groups exercises and worksheets now have restricted name character sets.

Show diffs side-by-side

added added

removed removed

Lines of Context:
114
114
from ivle.auth import AuthError, authenticate
115
115
import urllib
116
116
 
 
117
from ivle.webapp.base.forms import VALID_URL_NAME
117
118
from ivle.webapp.base.views import BaseView
118
119
from ivle.webapp.base.plugins import ViewPlugin
119
120
from ivle.webapp.errors import NotFound, BadRequest, Unauthorized
314
315
    # Get required fields
315
316
    projectsetid = fields.getfirst('projectsetid').value
316
317
    groupnm = fields.getfirst('groupnm').value
 
318
 
317
319
    if projectsetid is None or groupnm is None:
318
320
        raise BadRequest("Required: projectsetid, groupnm")
319
321
    groupnm = unicode(groupnm)
322
324
    except:
323
325
        raise BadRequest("projectsetid must be an integer")
324
326
 
 
327
    if not VALID_URL_NAME.match(groupnm):
 
328
        raise BadRequest(
 
329
            "Group names must consist of a lowercase alphanumeric character "
 
330
            "followed by any number of lowercase alphanumerics, ., +, - or _.")
 
331
 
325
332
    projectset = req.store.get(ivle.database.ProjectSet, projectsetid)
326
333
    if projectset is None:
327
334
        raise BadRequest("Invalid projectsetid")