コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
ファイル: entry.py プロジェクト: litmisty/pyweb
 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")
コード例 #4
0
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))