def post(self): team_number = self.request.get("team_number") if not team_number: self.abort(400) team_number = int(team_number) team = Team.get_by_id("frc{}".format(team_number)) if not team: self.abort(400) self._require_team_admin_access(team_number) action = self.request.get('action') if action == "remove_media_reference": media, team_ref = self.get_media_and_team_ref(team_number) if team_ref in media.references: media.references.remove(team_ref) if team_ref in media.preferred_references: media.preferred_references.remove(team_ref) MediaManipulator.createOrUpdate(media, auto_union=False) elif action == "remove_media_preferred": media, team_ref = self.get_media_and_team_ref(team_number) if team_ref in media.preferred_references: media.preferred_references.remove(team_ref) MediaManipulator.createOrUpdate(media, auto_union=False) elif action == "add_media_preferred": media, team_ref = self.get_media_and_team_ref(team_number) if team_ref not in media.preferred_references: media.preferred_references.append(team_ref) MediaManipulator.createOrUpdate(media, auto_union=False) elif action == "set_team_info": robot_name = self.request.get("robot_name").strip() current_year = datetime.datetime.now().year robot_key = Robot.renderKeyName(team.key_name, current_year) if robot_name: robot = Robot( id=robot_key, team=team.key, year=current_year, robot_name=robot_name, ) RobotManipulator.createOrUpdate(robot) else: RobotManipulator.delete_keys([ndb.Key(Robot, robot_key)]) else: self.abort(400) self.redirect('/mod/')