def create_related_userstories_in_bulk(bulk_data, epic, **additional_fields): """Create user stories from `bulk_data`. :param epic: Element where all the user stories will be contained :param bulk_data: List of user stories in bulk format. :param additional_fields: Additional fields when instantiating each user story. :return: List of created `Task` instances. """ userstories = get_userstories_from_bulk(bulk_data, **additional_fields) project = additional_fields.get("project") disconnect_userstories_signals() try: db.save_in_bulk(userstories) related_userstories = [] for userstory in userstories: related_userstories.append( models.RelatedUserStory(user_story=userstory, epic=epic)) db.save_in_bulk(related_userstories) project.update_role_points(user_stories=userstories) finally: connect_userstories_signals() return related_userstories
def create_members_in_bulk(bulk_data, callback=None, precall=None, **additional_fields): """Create members from `bulk_data`. :param bulk_data: List of dicts `{"project_id": <>, "role_id": <>, "username": <>}`. :param callback: Callback to execute after each task save. :param additional_fields: Additional fields when instantiating each task. :return: List of created `Member` instances. """ members = get_members_from_bulk(bulk_data, **additional_fields) db.save_in_bulk(members, callback, precall) return members
def create_tasks_in_bulk(bulk_data, callback=None, precall=None, **additional_fields): """Create tasks from `bulk_data`. :param bulk_data: List of tasks in bulk format. :param callback: Callback to execute after each task save. :param additional_fields: Additional fields when instantiating each task. :return: List of created `Task` instances. """ tasks = get_tasks_from_bulk(bulk_data, **additional_fields) disconnect_tasks_signals() try: db.save_in_bulk(tasks, callback, precall) finally: connect_tasks_signals() return tasks
def create_epics_in_bulk(bulk_data, callback=None, precall=None, **additional_fields): """Create epics from `bulk_data`. :param bulk_data: List of epics in bulk format. :param callback: Callback to execute after each epic save. :param additional_fields: Additional fields when instantiating each epic. :return: List of created `Epic` instances. """ epics = get_epics_from_bulk(bulk_data, **additional_fields) disconnect_epics_signals() try: db.save_in_bulk(epics, callback, precall) finally: connect_epics_signals() return epics
def create_issues_in_bulk(bulk_data, callback=None, precall=None, **additional_fields): """Create issues from `bulk_data`. :param bulk_data: List of issues in bulk format. :param callback: Callback to execute after each issue save. :param additional_fields: Additional fields when instantiating each issue. :return: List of created `Issue` instances. """ issues = get_issues_from_bulk(bulk_data, **additional_fields) disconnect_issues_signals() try: db.save_in_bulk(issues, callback, precall) finally: connect_issues_signals() return issues
def create_userstories_in_bulk(bulk_data, callback=None, precall=None, **additional_fields): """Create user stories from `bulk_data`. :param bulk_data: List of user stories in bulk format. :param callback: Callback to execute after each user story save. :param additional_fields: Additional fields when instantiating each user story. :return: List of created `Task` instances. """ userstories = get_userstories_from_bulk(bulk_data, **additional_fields) project = additional_fields.get("project") disconnect_userstories_signals() try: db.save_in_bulk(userstories, callback, precall) project.update_role_points(user_stories=userstories) finally: connect_userstories_signals() return userstories