def validate(self): rv = super(PermissionForm, self).validate() if not rv: return False if not valid_username(self.name.data): self.name.errors.append("Name contains invalid characters") return False existing = Permission.get(name=self.name.data, allusers=True) if existing and existing.id != self.edit_id: self.name.errors.append( "A global permission with that name already exists") return False if self.context.data == self.edit_user.userid: existing = Permission.get(name=self.name.data, user=self.edit_user) else: org = Organization.get(userid=self.context.data) if org: existing = Permission.get(name=self.name.data, org=org) else: existing = None if existing and existing.id != self.edit_id: self.name.errors.append( "You have another permission with the same name") return False return True
def user_get_by_userid(): """ Returns user or organization with the given userid (Lastuser internal userid) """ userid = request.values.get('userid') if not userid: return api_result('error', error='no_userid_provided') user = User.get(userid=userid, defercols=True) if user: return api_result('ok', type='user', userid=user.userid, buid=user.userid, name=user.username, title=user.fullname, label=user.pickername, timezone=user.timezone, oldids=[o.userid for o in user.oldids]) else: org = Organization.get(userid=userid, defercols=True) if org: return api_result('ok', type='organization', userid=org.userid, buid=org.userid, name=org.name, title=org.title, label=org.pickername) return api_result('error', error='not_found')
def validate(self): rv = super(PermissionForm, self).validate() if not rv: return False if not valid_username(self.name.data): self.name.errors.append(_("Name contains invalid characters")) return False existing = Permission.get(name=self.name.data, allusers=True) if existing and existing.id != self.edit_id: self.name.errors.append(_("A global permission with that name already exists")) return False if self.context.data == self.edit_user.buid: existing = Permission.get(name=self.name.data, user=self.edit_user) else: org = Organization.get(buid=self.context.data) if org: existing = Permission.get(name=self.name.data, org=org) else: existing = None if existing and existing.id != self.edit_id: self.name.errors.append(_("You have another permission with the same name")) return False return True
def validate_username(self, field): if field.data in current_app.config['RESERVED_USERNAMES']: raise forms.ValidationError, _("This name is reserved") if not valid_username(field.data): raise forms.ValidationError(_(u"Invalid characters in name. Names must be made of ‘a-z’, ‘0-9’ and ‘-’, without trailing dashes")) existing = User.get(username=field.data) or Organization.get(name=field.data) if existing is not None: raise forms.ValidationError(_("This username is taken"))
def validate_name(self, field): if not valid_username(field.data): raise wtforms.ValidationError("Invalid characters in name") if field.data in current_app.config['RESERVED_USERNAMES']: raise wtforms.ValidationError("That name is reserved") existing = User.get(username=field.data) if existing is not None: raise wtforms.ValidationError("That name is taken") existing = Organization.get(name=field.data) if existing is not None and existing.id != self.edit_id: raise wtforms.ValidationError("That name is taken")
def validate_username(self, field): if field.data in current_app.config['RESERVED_USERNAMES']: raise forms.ValidationError, _("This name is reserved") if not valid_username(field.data): raise forms.ValidationError( _(u"Invalid characters in name. Names must be made of ‘a-z’, ‘0-9’ and ‘-’, without trailing dashes" )) existing = User.get(username=field.data) or Organization.get( name=field.data) if existing is not None: raise forms.ValidationError(_("This username is taken"))
def validate_name(self, field): if not valid_username(field.data): raise forms.ValidationError(_("Invalid characters in name")) if field.data in current_app.config['RESERVED_USERNAMES']: raise forms.ValidationError(_("This name is reserved")) existing = User.get(username=field.data) if existing is not None: if existing == current_auth.user: raise forms.ValidationError(Markup(_(u"This is <em>your</em> current username. " u'You must change it first from <a href="{profile}">your profile</a> ' u"before you can assign it to an organization").format( profile=url_for('profile')))) else: raise forms.ValidationError(_("This name is taken")) existing = Organization.get(name=field.data) if existing is not None and existing.id != self.edit_id: raise forms.ValidationError(_("This name is taken"))
def loader(self, name=None): if name: obj = Organization.get(name=name) if not obj: abort(404) return obj