def rules_race_create (request): form_data = h.ignore_request_params_fields(request.POST) form = forms.Race(form_data) if not form.validate(): return form.errors rules_id = form.rules_id.data if not request.user.owned_rules(rules_id): request.response.status = 403 return {'success': False} race = models.Race() race.rules_id = form.rules_id.data race.title = form.title.data race.skills = {} if form.skills.data: race_skills = {} for skill in form.skills.data: skill_id = skill['skill_id'] mod = skill['mod'] race_skills[skill_id] = mod race.skills = race_skills race.add() DBSession.flush() return {'success': True, 'result': race.as_dict()}
def rules_class_create (request): form_data = h.ignore_request_params_fields(request.POST) form = forms.CharacterClass(form_data) if not form.validate(): return form.errors rules_id = form.rules_id.data if not request.user.owned_rules(rules_id): request.response.status = 403 return {'success': False} char_class = models.CharacterClass() char_class.rules_id = form.rules_id.data char_class.title = form.title.data char_class.skills = {} if form.skills.data: class_skills = {} for skill in form.skills.data: skill_id = skill['skill_id'] # TODO: Title? mod = skill['mod'] class_skills[skill_id] = mod char_class.skills = class_skills char_class.add() DBSession.flush() return {'success': True, 'result': char_class.as_dict()}
def rules_perk_create (request): form_data = h.ignore_request_params_fields(request.POST) form = forms.Perk(form_data) if not form.validate(): return form.errors rules_id = form.rules_id.data if not request.user.owned_rules(rules_id): request.response.status = 403 return {'success': False} perk = models.Perk() perk.rules_id = form.rules_id.data perk.title = form.title.data perk.description = form.description.data if form.skills.data: perk_skills = perk.skills or {} for skill in form.skills.data: skill_id = skill['skill_id'] # TODO: Title? mod = skill['mod'] perk_skills[skill_id] = mod perk.skills = perk_skills perk.add() DBSession.flush() return {'success': True, 'perk_id': perk.id}