# Delete group in P4 try: p4.delete_group(group.name, suppress_group_does_not_exist_error=True) except P4Exception, e: logger.error(traceback.format_exc()) for e in p4.errors(): logger.error(e) projects_before_delete = [project for project in group.paproject_set.all()] group.delete() for project in projects_before_delete: if project.swarm_project: update_members_in_swarm_project(project.swarm_project) def add_user_to_group(group, user): group.members.add(user) group.save() if settings.PERFORCE_INTEGRATION_ENABLED: with P4ConnectionAsServiceUser() as p4: try: p4.add_user_to_group(str(group.name), str(user.p4_user_name)) except P4Exception, e: logger.error(traceback.format_exc()) for e in p4.errors(): logger.error(e)
def add_user_to_project(project, user): project_access = PAUserProjectAccess.objects.create(project=project, user=user) project_access.save() if settings.PERFORCE_INTEGRATION_ENABLED: with P4ConnectionAsServiceUser() as p4: try: p4.add_user_to_group(project.p4_access_group_name, str(user.p4_user_name)) except P4Exception, e: logger.error(traceback.format_exc()) for e in p4.errors(): logger.error(e) if project.swarm_project: update_members_in_swarm_project(project.swarm_project) return project_access def remove_user_from_project(project_access): if settings.PERFORCE_INTEGRATION_ENABLED: with P4ConnectionAsServiceUser() as p4: try: p4.remove_user_from_group(project_access.project.p4_access_group_name, project_access.user.p4_user_name) except P4Exception, e: logger.error(traceback.format_exc()) for e in p4.errors(): logger.error(e) project_access.delete()