def reset_password(request, userid): result = True try: UserService.reset_user_password(request, userid) except Exception as ex: SimpleLogger.exception(ex) result = str(ex) return HttpResponse(result)
def user_edit_post(request, userid): result = True try: UserService.edit_user(request, userid) except Exception as ex: SimpleLogger.exception(ex) result = str(ex) return HttpResponse(result)
def update_group(request, userid): result = True try: UserService.update_user_group(request, userid) except Exception as ex: SimpleLogger.exception(ex) result = str(ex) return HttpResponse(result)
def user_delete(request): result = True try: UserService.delete_user(request) except Exception as ex: print(ex) SimpleLogger.exception(ex) result = str(ex) return HttpResponse(result)
def put(self, request, *args, **kwargs): user_id = int(self.kwargs['id']) old_password = request.data.get('oldPassword', None) if old_password is None: message = UserService.reset_user_password(request, user_id) else: message = UserService.change_password(request) if message is None: return response.Response({"message": "密码修改成功"}, status=status.HTTP_200_OK) else: return response.Response(message, status=status.HTTP_200_OK)
def create_intesting_message(fortesting, summary_info, email_template_path): email_templates = open(email_template_path, 'rb').read().decode() project = Project.objects.get(fortesting.ProjectID) submitior = UserService.get_user(fortesting.Commitor) version = ForTestingService.get_fortesting_version(fortesting) vm_fortesting = VM_ProjectForTesting(fortesting) tester_name = "--" if len(vm_fortesting.fortesting_testers()) > 0: tester_name = vm_fortesting.fortesting_testers()[0].member_name() title = "项目:【" + project.PBTitle + version + "】" + summary_info email_templates = email_templates.replace("${SUBMITIONINFO}", title) email_templates = email_templates.replace( "${SUBMITTIME}", str(DateTimeHelper.getcnow())) email_templates = email_templates.replace("${TPID}", str(fortesting.id)) email_templates = email_templates.replace("${PROJECTNAME}", project.PBTitle) email_templates = email_templates.replace( "${STARTTIME}", str(vm_fortesting.testing_start_date())) email_templates = email_templates.replace( "${ENDTIME}", str(vm_fortesting.testing_deadline())) email_templates = email_templates.replace( "${SUBMITIOR}", str(submitior.last_name + submitior.first_name)) email_templates = email_templates.replace("${TESTER}", tester_name) email_templates = email_templates.replace("${VERSION}", version) return email_templates
def create_finished_message(fortesting, summary_info, email_template_path): email_templates = open(email_template_path, 'rb').read().decode() project = Project.objects.get(fortesting.ProjectID) submitior = UserService.get_user(fortesting.Commitor) version = ForTestingService.get_fortesting_version(fortesting) vm_fortesting = VM_ProjectForTesting(fortesting) tester_name = "--" if len(vm_fortesting.fortesting_testers()) > 0: tester_name = vm_fortesting.fortesting_testers()[0].member_name() title = "项目:【" + project.PBTitle + version + "】" + summary_info email_templates = email_templates.replace("${SUBMITIONINFO}", title) email_templates = email_templates.replace("${TPID}", str(fortesting.id)) email_templates = email_templates.replace("${PROJECTNAME}", project.PBTitle) email_templates = email_templates.replace( "${SUBMITIOR}", str(submitior.last_name + submitior.first_name)) email_templates = email_templates.replace("${TESTER}", tester_name) email_templates = email_templates.replace("${VERSION}", version) email_templates = email_templates.replace( "${FUNCTIONCHANGE}", str(fortesting.TestingFeature)) email_templates = email_templates.replace( "${SUGGESTION}", str(fortesting.TestingAdvice)) return email_templates
def post(self, request, *args, **kwargs): user = UserService.create_user(request) serializer = user_serializer.UserSerializer(instance=user) headers = self.get_success_headers(serializer.data) return response.Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
def env_lead(self): lead=UserService.get_user(self.env.PBLead) result=lead.username if lead: if lead.first_name and lead.last_name: result=lead.last_name+lead.first_name return result
def env_creator(self): creator=UserService.get_user(self.env.PBCreator) result=creator.username if creator: if creator.first_name and creator.last_name: result=creator.last_name+creator.first_name return result
def get_user_dropdown_list(self,selected_user_id): vm_users=list() for dm_user in UserService.all_users(): temp_user=VM_User(dm_user,selected_user_id) vm_users.append(temp_user) pagefileds={"users":vm_users} return self.get_webpart(pagefileds,UserCommonPath.user_dropdown_controll)
def get_StartedUser(self, obj): result = '系统' user = UserService.get_user(obj.StartedBy) if user: result = user.last_name + user.first_name result = result[-2:] return result
def get_LockerName(self, obj): result = "--" if obj.LockBy: user = UserService.get_user(obj.LockBy) if user: result = user.last_name + user.first_name return result
def create_commit_message(fortesting, summary_info, email_template_path): email_templates = open(email_template_path, 'rb').read().decode() project = Project.objects.get(fortesting.ProjectID) projectname = project.PBTitle module = ProjectModule.objects.get(fortesting.ProjectModuleID) module_name = "--" code_addr = ProjectCodeUrl.objects.get(fortesting.ProjectCode) if module: module_name = module.Name platform = SystemConfigService.get_platform_name(project.PBPlatform) submitior = UserService.get_user(fortesting.Commitor) title = "项目:【" + platform + projectname + ForTestingService.get_fortesting_version( fortesting) + "】" + summary_info email_templates = email_templates.replace("${SUBMITIONINFO}", title) email_templates = email_templates.replace("${SUBMITTIME}", str(DateTimeHelper.getcnow())) email_templates = email_templates.replace("${SUBMITID}", str(fortesting.id)) email_templates = email_templates.replace("${PROJECTNAME}", projectname) email_templates = email_templates.replace("${PROJECTMODULENAME}", module_name) email_templates = email_templates.replace("${SUBMITIOR}", str(submitior.last_name + submitior.first_name)) email_templates = email_templates.replace("${PLATFORM}", str(platform)) email_templates = email_templates.replace("${VERSION}", ForTestingService.get_fortesting_version(fortesting)) if code_addr: email_templates = email_templates.replace("${CODEURI}", code_addr.CodeRepertory) email_templates = email_templates.replace("${BRANCH}", code_addr.Branch) else: email_templates = email_templates.replace("${CODEURI}", "") email_templates = email_templates.replace("${BRANCH}", "") email_templates = email_templates.replace("${FUNCTIONCHANGE}", str(fortesting.TestingFeature)) email_templates = email_templates.replace("${SUGGESTION}", str(fortesting.TestingAdvice)) return email_templates
def processor_name(self): result = "--" processor = UserService.get_user(self.issue.Processor) if processor is not None: result = processor.username if processor.first_name and processor.last_name: result = processor.last_name + processor.first_name return result
def send_notification_email(issue,summary_info,email_tempalte_path): processor = UserService.get_user(issue.Processor) email_list = [processor.email] email_config = SystemConfigService.get_email_config() email_message = IssueService.create_email_message(issue,summary_info,email_tempalte_path) project_name = Project.objects.get(issue.Project).PBTitle subject = "项目:【" + project_name + "】待处理问题通知" IssueService.send_email(email_config, email_list, email_message, subject)
def get_processor_name(self, issue): result = "-" processor = UserService.get_user(issue.Processor) if processor: result = processor.username if processor.first_name and processor.last_name: result = processor.last_name + processor.first_name return result
def get_projects_include_me(request): if UserService.is_admin(request.user.id): return Project.objects.all() member_list = ProjectMember.objects.all().filter( PMMember=request.user.id) project_ids = [member.PMProjectID for member in member_list] result = Project.objects.all().filter(id__in=project_ids) return result
def chart_xaxis(self): user_name = list() user_ids = self.issue_owner() for user_id in user_ids: if str(user_id) != '1': dm_user = UserService.get_user(user_id) if dm_user: user_name.append(dm_user.last_name + dm_user.first_name) return user_name
def get_settings_project_member_menu(self, projectid, login_user, menu_role): users = list() for user in UserService.all_users(): tmp_user = VM_ProjectMember(projectid, user, None, login_user) users.append(tmp_user) pagefileds = {"members": users, "menu_role": menu_role} return self.get_webpart(pagefileds, ProjectSettingsPath.project_member_menu_path)
def fortesting_testers(self): users = list() for testerid in eval(self.fortesting.Testers): user = UserService.get_user(testerid) if user != None: tmp_user = VM_FortestingTester(0, user, None, None, self.fortesting) users.append(tmp_user) return users
def borrower_name(self): result = "--" if self.device.DeviceBorrower: borrower = UserService.get_user(self.device.DeviceBorrower) result = borrower.username if borrower: if borrower.first_name and borrower.last_name: result = borrower.last_name + borrower.first_name return result
def get_avatar(self, obj): result = "/static/global/images/fruit-avatar/Fruit-1.png" try: user = UserService.get_user(int(obj.PMMember)) if user.extend_info: result = AccountService.get_avatar_url(user) except Exception as ex: SimpleLogger.exception(ex) return result
def get_owner_name(self, obj): user_id = obj.Owner user = UserService.get_user(int(user_id)) result = user.email[:1] user_name = user.last_name + user.first_name if len(user_name) >= 3: result = user_name[1:] else: result = user_name return result
def get_UserName(self, obj): user = UserService.get_user(obj.User) result = '系统' if user: user_name = user.last_name + user.first_name if len(user_name) >= 3: result = user_name[1:] else: result = user_name return result
def get_fortesting_tester_menu(self, projectid, login_user, menu_role, fortesting): users = list() for user in UserService.all_users(): if fortesting != None: tmp_user = VM_FortestingTester(projectid, user, None, login_user, fortesting) users.append(tmp_user) pagefileds = {"members": users, "menu_role": menu_role} return self.get_webpart(pagefileds, ProjectFortestingPath.fortesting_tester_menu)
def create_email_message(request,parameter_group,project_id,summary_info,email_template_path): email_templates = open(email_template_path, 'rb').read().decode() project= Project.objects.get(project_id) projectname = project.PBTitle changer = UserService.get_user(request.user.id) email_templates = email_templates.replace("$Subject",summary_info) email_templates = email_templates.replace("$ProjectName",projectname) email_templates = email_templates.replace("$GroupName",parameter_group.group_name) email_templates = email_templates.replace("$Changer", str(changer.last_name + changer.first_name)) email_templates = CITaskParameterService.parameter_change_detail(request, email_templates) return email_templates
def change_password(request): message = True try: message = UserService.change_password(request) if message == "": message = True except Exception as ex: SimpleLogger.error(ex) message = str(ex) print(message) return HttpResponse(message)
def get_projects_include_me(request,product_id='all'): if product_id==None: product_id="0" if UserService.is_admin(request.user.id): return Project.objects.all() member_list= ProjectMember.objects.all().filter(PMMember=request.user.id) project_ids=[member.PMProjectID for member in member_list] if product_id.upper()=="ALL": result=Project.objects.all().filter(id__in=project_ids) else: result=Project.objects.all().filter(id__in=project_ids).filter(Product=int(product_id)) return result
def get_owner_name(self, obj): if obj.Commitor: owner_id = obj.Commitor else: owner_id = obj.Creator user = UserService.get_user(int(owner_id)) result = user.email[:1] user_name = user.last_name + user.first_name if len(user_name) >= 3: result = user_name[1:] else: result = user_name return result