def assign_dev(): ticket_id = request.form.get('ticket_id') ticket = Ticket.query.get(ticket_id) ticket.assigned_user_id = request.form.get('dev_name') ticket.update() #Insert record in ticket history user_id = request.form.get('dev_name') today = date.today() #t_update_date = today.strftime("%d/%m/%Y") t_update_date = constants.CURRENT_DATE t_history_id = db.session.query(func.max( Ticket_history.t_history_id)).all() if t_history_id[0][0] == None: ticket_history = Ticket_history(1, ticket_id, user_id, ticket.t_status, t_update_date, ticket.t_priority) else: ticket_history = Ticket_history(t_history_id[0][0] + 1, ticket_id, user_id, ticket.t_status, t_update_date, ticket.t_priority) try: ticket_history.insert() except: print(sys.exc_info()) abort(500) #Insert record in comments userinfo = session.get('profile') assigned_user_name = Users.query.with_entities( Users.user_name).filter(Users.user_id == user_id).one() c_id = db.session.query(func.max(Comment.c_id)).all() if c_id[0][0] == None: comment = Comment(1, ticket_id, userinfo['user_id'], t_update_date, " assigned developer " + assigned_user_name[0]) else: comment = Comment(c_id[0][0] + 1, ticket_id, userinfo['user_id'], t_update_date, " assigned developer " + assigned_user_name[0]) try: comment.insert() except: print(sys.exc_info()) abort(500) #Record a notification notification = Notification(ticket_id, user_id, 'Assigned') try: notification.insert() except: print(sys.exc_info()) abort(500) return redirect('/ticketdetails/' + ticket_id)
def submit_comment(): comment_text = request.form.get('comment') ticket_id = request.form.get('ticket_id') today = date.today() #update_date = today.strftime("%d/%m/%Y") update_date = constants.CURRENT_DATE userinfo = session.get('profile') user_id = Users.query.with_entities( Users.user_id).filter_by(user_email=userinfo['email']) c_id = db.session.query(func.max(Comment.c_id)).all() if c_id[0][0] == None: comment_entry = Comment(1, ticket_id, user_id, update_date, comment_text) else: comment_entry = Comment(c_id[0][0] + 1, ticket_id, user_id, update_date, comment_text) try: comment_entry.insert() except: print(sys.exc_info()) abort(500) return redirect('/ticketdetails/' + ticket_id)
def post(self, index=None): if not self.context['user'].get_current_user(): self.siteError( SiteErrorType.ERROR_INVALID_ACCESS ) return self.context['index'] = index entry = Entry.get_entry( index ) if not entry or entry.is_removed: self.siteError( getSiteErrorMessage("entry_not_exist") ) return remote_addr = self.request.remote_addr if not remote_addr: self.siteError( getSiteErrorMessage("invalid_access") ) return user = self.context['user'].get_current_user() User.insertUser(user, remote_addr) if self.context['user'] and User.isUserNeedCaptcha( self.get_current_user() ): comment_form = CommentRecaptchaForm(self.request.remote_addr, data = self.request.POST) else: comment_form = CommentForm(data = self.request.POST) if comment_form.is_valid(): comment = Comment.insert(entry, comment_form.cleaned_data['content'], user, remote_addr) entry.comment_count = entry.comment_count + 1 entry.updated_on = datetime.datetime.now() entry.put() PagingCursorMasterKey.clearModelKey("Comment") self.redirect("/entry/%s#comment%d"%(index, comment.id())) else: self.createCSRFToken() self.context['entry'] = entry self.context['comment_form'] = comment_form self.render("view.html")
def update_project_status(): userinfo = session.get('profile') ticket_id = request.form.get('ticket_id') ticket_entry = Ticket.query.get(ticket_id) #today = date.today() #t_update_date = today.strftime("%d/%m/%Y") t_update_date = constants.CURRENT_DATE t_status = request.form.get('input') p_name = request.form.get('p_name') ticket_entry.t_status = t_status try: ticket_entry.update() except: print(sys.exc_info()) abort(500) if t_status == "Closed": ticket_entry.t_close_date = t_update_date #ENTER IN TICKET HISTORY ticket_id = ticket_entry.t_id t_history_id = db.session.query(func.max( Ticket_history.t_history_id)).all() if t_history_id[0][0] == None: ticket_history_entry = Ticket_history(1, ticket_id, ticket_entry.assigned_user_id, t_status, t_update_date, ticket_entry.t_priority) else: ticket_history_entry = Ticket_history(t_history_id[0][0] + 1, ticket_id, ticket_entry.assigned_user_id, t_status, t_update_date, ticket_entry.t_priority) try: ticket_history_entry.insert() except: print(sys.exc_info()) abort(500) #ENTER IN NOTIFICATIONS p_id = Project.query.with_entities( Project.p_id).filter(Project.p_name == p_name).one() user_list = Map_user_proj.query.with_entities( Map_user_proj.user_id).filter(Map_user_proj.p_id == p_id).all() for user in user_list: notification = Notification(ticket_id, user, 'Update') try: notification.insert() except: print(sys.exc_info()) abort(500) #Insert record in comments c_id = db.session.query(func.max(Comment.c_id)).all() if c_id[0][0] == None: comment = Comment(1, ticket_id, userinfo['user_id'], t_update_date, " Updated ticket status to " + t_status) else: comment = Comment(c_id[0][0] + 1, ticket_id, userinfo['user_id'], t_update_date, " Updated ticket status to " + t_status) try: comment.insert() except: print(sys.exc_info()) abort(500) return redirect('/ticketdetails/' + str(ticket_id))