def post(self, key): group = self.getGroup(key) if group is None: group = Group() group.name = self.request.get('group[name]') group.password = self.request.get('group[password]') try: slots = int(self.request.get('group[slots]')) if slots <= 0: raise ValueError('Below zero') group.slots = slots except ValueError as e: raise ValidationError( errors={ 'group[slots]': 'Must be an integer number above zero' }) project_key = self.request.get('group[project]') project = Project.get(project_key) if project_key != '' else None group.setProject(project) group.put() error_code = 1 if key == 'new' else 2 self.redirect('/admin/groups/{}'.format(group.key()), {'error': error_code})