class IssueDomain(): def __init__(self, id=None): if id is not None: self.data = Issue().find_by_id(id) self.client = ClientDomain(self.data.client_id) self.film = FilmDomain(self.data.film_id) self.new = False else: self.new = True def find(self, form): self.data = Issue().find(form.client.data, form.film.data) if self.data == None: return False else: return True def give_film(self, form): client_id = form.client.data film_id = form.film.data weeks = form.weeks.data sum = form.sum.data date = datetime.utcnow() film = FilmDomain(film_id) if film.data.fact_count > 0: Issue().insert(client_id, film_id, date, weeks, sum) film.data.decrease() return True flash('Нет кассет в наличии!') return False def take_film(self, form): self.film.data.increase() self.data.delete() return True
def __init__(self, id=None): if id is not None: self.data = Issue().find_by_id(id) self.client = ClientDomain(self.data.client_id) self.film = FilmDomain(self.data.film_id) self.new = False else: self.new = True
def handle_big_pro(): summary = request.form.get('summary') creator = request.form.get('pm') pro_status = request.form.get('pro_status') if len(pro_status) > 0: pro_status_id = int(pro_status) ui_schedule = request.form.get("ui_schedule") back_schedule = request.form.get('back_schedule') front_schedule = request.form.get('front_schedule') test_schedule = request.form.get('test_schedule') ui_staff = request.form.get("ui_staff") back_staff = request.form.get('back_staff') front_staff = request.form.get('front_staff') test_staff = request.form.get('test_staff') is_pro = 1 big_pro = Issue(summary=summary, creator=creator, pro_status_id=pro_status_id, ui_schedule=ui_schedule, back_schedule=back_schedule, front_schedule=front_schedule, test_schedule=test_schedule, ui_staff=ui_staff, back_staff=back_staff, front_staff=front_staff, test_staff=test_staff, is_pro=is_pro) db.session.add(big_pro) db.session.commit() msg = '%s 已更新' % summary flash('大项目:%s 创建成功' % summary) return redirect(url_for('big_pro'))
def jira_get_all(): jql = 'project = DSG AND issuetype in (Bug, 财务需求,需求) AND creator in (membersOf(产品组))' issues = jira.search_issues(jql, fields=need_fields, maxResults=1000) all_issues_num = 0 for issue in issues: if issue.fields.resolutiondate: issue_resolutiondate = strftime( "%Y-%m-%d", strptime(issue.fields.resolutiondate[0:10], '%Y-%m-%d')) else: issue_resolutiondate = None new_issue = Issue( key=issue.key, jira_id=int(issue.id), status=issue.fields.status.name, created_time=strftime( "%Y-%m-%d", strptime(issue.fields.created[0:10], '%Y-%m-%d')), resolutiondate=issue_resolutiondate, updated=strftime("%Y-%m-%d", strptime(issue.fields.updated[0:10], '%Y-%m-%d')), summary=issue.fields.summary, creator=issue.fields.creator.displayName, url=str(server + '/browse/' + issue.key)) db.session.add(new_issue) db.session.commit() all_issues_num += 1 return '获取全部记录,共查询了 %s 条' % all_issues_num
def add_new_issue(): """ Creates a new issue from the Form and store it in the database table issues :return: """ form = NewIssueForm(request.form) if request.method == 'POST': title = form.title.data department = form.department.data priority = form.priority.data description = form.description.data user_id = session['user_id'] issue = Issue(title=title, department=department, priority=priority, description=description, user=user_id, status=0) try: db.session.add(issue) db.session.commit() flash("Issue Submitted Successfully", category='info') except Exception: flash("Issues Submission Failed", category='info') db.session.rollback() return redirect("/issues") return render_template('issues/create_new.html', form=form)
def post(self, slug): ctx = self.get_context(slug=slug) form = ctx['form'] if form.validate(): project = ctx['project'] issue = Issue() issue.project = project _process_issue(issue, form, request) project.issues.append(issue) project.save() flash('We have finished assembling your issue.') return redirect(url_for('issue_api', slug=slug, id=issue.id, _method='GET')) flash('You have forgotten something. Without your guidance, we are lost.') return render_template('issue/new.html', form=form)
def post(self): form = IssueCreateForm() if not form.validate_on_submit(): return form.errors, 422 issue = Issue(form.title.data, form.description.data, form.project_id.data, form.column_id.data, form.tag_id.data, form.milestone_id.data, form.effort_id.data, form.assigned_to_id.data) db.session.add(issue) db.session.commit() return IssueSerializer(issue).data, 201
def jira_get_new(): last_time = LastTime.query.first() if not last_time: last_time = LastTime(last_request_time=date.today()) db.session.add(last_time) db.session.commit() msg1 = '上次请求时间:%s 。' % last_time.last_request_time jql = 'project = DSG AND issuetype in (Bug, 财务需求, 需求) AND updated >= %s AND creator in (membersOf(产品组))' % last_time.last_request_time issues = jira.search_issues(jql, fields=need_fields, maxResults=1000) existing_issues_num = 0 new_issues_num = 0 for issue in issues: existing_issue = Issue.query.filter_by(key=issue.key).first() if issue.fields.resolutiondate: issue_resolutiondate = strftime( "%Y-%m-%d", strptime(issue.fields.resolutiondate[0:10], '%Y-%m-%d')) else: issue_resolutiondate = None if existing_issue: existing_issue.status = issue.fields.status.name if existing_issue.status == '关闭': existing_issue.pro_status = ProStatus.query.filter_by( name='已上线').first() existing_issue.summary = issue.fields.summary existing_issue.resolutiondate = issue_resolutiondate existing_issue.updated = strftime( "%Y-%m-%d", strptime(issue.fields.updated[0:10], '%Y-%m-%d')) db.session.commit() existing_issues_num += 1 else: new_issue = Issue(key=issue.key, jira_id=int(issue.id), status=issue.fields.status.name, created_time=strftime( "%Y-%m-%d", strptime(issue.fields.created[0:10], '%Y-%m-%d')), resolutiondate=issue_resolutiondate, updated=strftime( "%Y-%m-%d", strptime(issue.fields.updated[0:10], '%Y-%m-%d')), summary=issue.fields.summary, creator=issue.fields.creator.displayName, url=str(server + '/browse/' + issue.key)) db.session.add(new_issue) db.session.commit() new_issues_num += 1 last_time.last_request_time = date.today() db.session.commit() return msg1 + '共查询了 %s 条记录,更新了 %s 条已存在记录,新增 %s 条记录' % ( existing_issues_num + new_issues_num, existing_issues_num, new_issues_num)
def create_issue(): """Create a GitHub issue representation.""" db.session.add( Issue( name='Test adding a new issue', url='https://github.com/a-organization/a-repo/issues/56', github_issue_id=default_issue_id, repo_id=default_repo_id, trello_board_id=default_board_id, trello_card_id=default_card_id ) )
def give_film(self, form): client_id = form.client.data film_id = form.film.data weeks = form.weeks.data sum = form.sum.data date = datetime.utcnow() film = FilmDomain(film_id) if film.data.fact_count > 0: Issue().insert(client_id, film_id, date, weeks, sum) film.data.decrease() return True flash('Нет кассет в наличии!') return False
def contact(): global KAFENUT_NOTES if request.method=='GET': page=int(request.args.get('page',default=1)) issues=Issue.query.order_by(Issue.upload_time.desc()).paginate(page,ISSUE_PER_PAGE,False) return render_template("contact.html",kafenut_notes=KAFENUT_NOTES,issues=issues) #receiving a post else: Get=request.form.get if Get('anonymous')=='on': id=-1; else: id=g.user.id issue=Issue(upload_time=datetime.utcnow(),title=Get('issue_title'),body=Get('issue_body'),author_id=id) db.session.add(issue) db.session.commit() flash('您的建议已成功上传!') return redirect(url_for('contact'))
def get(self, slug, id): ctx = self.get_context(slug=slug, id=id) project = ctx['project'] # List view if id is None: issues = Issue.objects(project=project) return render_template('issue/list.html', issues=issues, project=project) # Detail view else: comment_form = model_form(Comment, exclude=['created_at', 'updated_at', 'author', 'mentions', 'attachments']) form = comment_form(request.form) issue = ctx['issue'] issue.sync() all_events = issue.all_events() return render_template('issue/detail.html', issue=issue, events=all_events, form=form, current_user=current_user(), project=project)
def get(self, slug): # List view if slug is None: projects = Project.objects.all() return render_template('project/list.html', projects=projects, current_user=current_user()) # Detail view else: ctx = self.get_context(slug=slug) project = ctx['project'] try: project.sync() except KeyError as e: if current_user().linked(): return redirect(url_for('github_login')) else: return redirect(url_for('github_info')) issues = Issue.objects(project=project, open=True) return render_template('issue/list.html', issues=issues, project=project)
def add_issue(): if not request.json or \ "id" not in request.json or \ "team" not in request.json or \ "key" not in request.json or \ "summary" not in request.json or \ "url" not in request.json: abort(400, "invalid request") if Issue.query.get(request.json["id"]): abort(409, "issue already exists") db.session.add( Issue(id=request.json["id"], team=request.json["team"], key=request.json["key"], summary=request.json["summary"], url=request.json["url"])) db.session.commit() return "created", 201
def label_issues(slug, label): project = Project.objects.get_or_404(slug=slug) issues = Issue.objects(labels=label, project=project) return render_template('issue/list.html', issues=issues, project=project)
def find_films(self): self.films = [] films_id = Issue().find_film_by_client(self.data.id) for film_id in films_id: self.films.append(FilmDomain().find(film_id))
def setUp(self): self.__crawler = Controller.get_journal(5165411) journal = Controller.get_journal_object(5165411) for issue in Issue.objects.filter(journal_reference=journal): issue.delete() issue = Issue() issue.journal_reference = journal issue.number = 2 issue.year = 2016 issue.status = Issue.CURRENT_ISSUE issue.entry_number = 'current_5165411' issue.save() issue = Issue() issue.entry_number = '7361791' issue.journal_reference = journal issue.number = 1 issue.year = 2016 issue.status = Issue.PAST_ISSUE issue.save() issue = Issue() issue.entry_number = '7042857' issue.journal_reference = journal issue.number = 2 issue.year = 2015 issue.status = Issue.PAST_ISSUE issue.save() issue = Issue() issue.entry_number = '6991622' issue.journal_reference = journal issue.number = 1 issue.year = 2015 issue.status = Issue.PAST_ISSUE issue.save()
next_page = data['metadata']['pagination'].get('next_page') if next_page == None: break for item in data['issues']: if not item['reporter']['id']: continue issue = Issue( id=item.get('id'), status=item.get('status'), description=item.get('description'), url=item.get('url'), summary=item.get('summary'), html_url=item.get('html_url'), comment_url=item.get('comment_url'), shortened_url=item.get('shortened_url'), address=item.get('address'), lat=item.get('lat'), lng=item.get('lng'), closed_at=item.get('closed_at'), acknowledged_at=item.get('acknowledged_at'), created_at=item.get('created_at'), updated_at=item.get('updated_at') ) reporter = Reporter( id=item['reporter'].get('id'), witty_title=item['reporter'].get('witty_title'), civic_points=item['reporter'].get('civic_points'), name=item['reporter'].get('name') )
def open_issues(slug): project = Project.objects.get_or_404(slug=slug) issues = Issue.objects(open=True, project=project) return render_template('issue/list.html', issues=issues, project=project)
data = response.json() next_page = data['metadata']['pagination'].get('next_page') if next_page == None: break for item in data['issues']: if not item['reporter']['id']: continue issue = Issue(id=item.get('id'), status=item.get('status'), description=item.get('description'), url=item.get('url'), summary=item.get('summary'), html_url=item.get('html_url'), comment_url=item.get('comment_url'), shortened_url=item.get('shortened_url'), address=item.get('address'), lat=item.get('lat'), lng=item.get('lng'), closed_at=item.get('closed_at'), acknowledged_at=item.get('acknowledged_at'), created_at=item.get('created_at'), updated_at=item.get('updated_at')) reporter = Reporter( id=item['reporter'].get('id'), witty_title=item['reporter'].get('witty_title'), civic_points=item['reporter'].get('civic_points'), name=item['reporter'].get('name')) issue.reporter_id = reporter.id
def find(self, form): self.data = Issue().find(form.client.data, form.film.data) if self.data == None: return False else: return True