def feed_issue_change(self, user, repo, orgi_issue, current_issue_id): current_issue = IssueManager.get_issue_by_id(current_issue_id) if current_issue is None: return feed_cate = FEED_CATE.ISSUES message = '' if orgi_issue is None and current_issue is not None: feed_type = FEED_TYPE.ISSUES_CREATE message = u'新建了问题' if orgi_issue is not None and ( orgi_issue.subject != current_issue.subject or orgi_issue.content != current_issue.content or orgi_issue.category != current_issue.category): feed_type = FEED_TYPE.ISSUES_UPDATE message = u'更新了问题' # status update status_changes = [] if orgi_issue is not None: if orgi_issue.tracker != current_issue.tracker: status_changes.append( u'跟踪: ' + ISSUE_ATTR_DICT.TRACKER[current_issue.tracker]) if orgi_issue.status != current_issue.status: status_changes.append( u'状态: ' + ISSUE_ATTR_DICT.STATUS[current_issue.status]) if orgi_issue.assigned != current_issue.assigned: assigned_user = GsuserManager.get_user_by_id( current_issue.assigned) if assigned_user is not None: status_changes.append(u'指派给: @' + assigned_user.username) if orgi_issue.priority != current_issue.priority: status_changes.append( u'优先级: ' + ISSUE_ATTR_DICT.PRIORITY[current_issue.priority]) if len(status_changes) > 0: message = ', '.join(status_changes) feed_type = FEED_TYPE.ISSUES_STATUS_CHANGE if message != '': feed = Feed.create(user.id, repo.id, feed_cate, feed_type, current_issue.id) # TODO feed.first_refname = message feed.save() feedAction = FeedAction() timestamp = float(time.mktime(feed.create_time.timetuple())) feedAction.add_repo_feed(repo.id, timestamp, feed.id) if repo.auth_type == 2: feedAction.add_pri_user_feed(user.id, timestamp, feed.id) else: feedAction.add_pub_user_feed(user.id, timestamp, feed.id)
def feed_issue_change(self, user, repo, orgi_issue, current_issue_id): current_issue = IssueManager.get_issue_by_id(current_issue_id) if current_issue is None: return feed_cate = FEED_CATE.ISSUES message = '' if orgi_issue is None and current_issue is not None: feed_type = FEED_TYPE.ISSUES_CREATE message = u'新建了问题' if orgi_issue is not None and (orgi_issue.subject != current_issue.subject or orgi_issue.content != current_issue.content or orgi_issue.category != current_issue.category): feed_type = FEED_TYPE.ISSUES_UPDATE message = u'更新了问题' # status update status_changes = [] if orgi_issue is not None: if orgi_issue.tracker != current_issue.tracker: status_changes.append(u'跟踪: ' + ISSUE_ATTR_DICT.TRACKER[current_issue.tracker]) if orgi_issue.status != current_issue.status: status_changes.append(u'状态: ' + ISSUE_ATTR_DICT.STATUS[current_issue.status]) if orgi_issue.assigned != current_issue.assigned: assigned_user = GsuserManager.get_user_by_id(current_issue.assigned) if assigned_user is not None: status_changes.append(u'指派给: @' + assigned_user.username) if orgi_issue.priority != current_issue.priority: status_changes.append(u'优先级: ' + ISSUE_ATTR_DICT.PRIORITY[current_issue.priority]) if len(status_changes) > 0: message = ', '.join(status_changes) feed_type = FEED_TYPE.ISSUES_STATUS_CHANGE if message != '': feed = Feed.create(user.id, repo.id, feed_cate, feed_type, current_issue.id) # TODO feed.first_refname = message feed.save() feedAction = FeedAction() timestamp = float(time.mktime(feed.create_time.timetuple())) feedAction.add_repo_feed(repo.id, timestamp, feed.id) if repo.auth_type == 2: feedAction.add_pri_user_feed(user.id, timestamp, feed.id) else: feedAction.add_pub_user_feed(user.id, timestamp, feed.id)
def feed_pull_change(self, user, pullRequest, pullStatus): feed_cate = FEED_CATE.MERGE feed_type = FEED_TYPE.MERGE_CREATE_PULL_REQUEST repo = pullRequest.desc_repo if pullStatus == PULL_STATUS.NEW: feed_type = FEED_TYPE.MERGE_CREATE_PULL_REQUEST elif pullStatus == PULL_STATUS.MERGED_FAILED: feed_type = FEED_TYPE.MERGE_MERGED_FAILED_PULL_REQUEST elif pullStatus == PULL_STATUS.MERGED: feed_type = FEED_TYPE.MERGE_MERGED_PULL_REQUEST elif pullStatus == PULL_STATUS.REJECTED: feed_type = NOTIF_TYPE.MERGE_REJECTED_PULL_REQUEST elif pullStatus == PULL_STATUS.CLOSE: feed_type = NOTIF_TYPE.MERGE_CLOSE_PULL_REQUEST feed = Feed.create(user.id, repo.id, feed_cate, feed_type, pullRequest.id) feed.save() feedAction = FeedAction() timestamp = float(time.mktime(feed.create_time.timetuple())) feedAction.add_repo_feed(repo.id, timestamp, feed.id) if repo.auth_type == 2: feedAction.add_pri_user_feed(user.id, timestamp, feed.id) else: feedAction.add_pub_user_feed(user.id, timestamp, feed.id)