Ejemplo n.º 1
0
def getMessageBoxHtml(request, tom):
    page_num = dataplus.dictGetVal(request.REQUEST, 'page', 1, string.atoi)

    paginator = Paginator(models.Message.objects.filter \
        (account__id=tom.account.id, folder='outbox') \
        .order_by('-sent_at'), config.messages_per_page)

    if paginator.num_pages == 0: return ''
    
    page = paginator.page(page_num)
    
    html = ''
    ctr = 0
    html += '<div>'
    for msg in page.object_list:
        ctr = ctr + 1
        chk_id = 'chkMsg_' + str(msg.id)
        peers = mailman.getReceiverList(msg)
        peers_html = string.join(['<a href="' + siteaction.getDetailsUrl(x) + '">' + x.name + '</a>' for x in peers], ', ')
        
        if msg.message_type == 'JR':
            #TODO: Finish this ......
            pass
        if msg.message_type == 'TM':
            msg_row_id = 'email' + str(ctr)
            msg_row_xp_id = 'emailxp' + str(ctr)

            html += '<div id="' + msg_row_id + '" class="email-msg-item">\r\n'
            html += '<table class="msg-item-table"><tr>\r\n' + \
                        '<td class="msg-selection"><input id="' + chk_id + '" class="msg-selection-check" name="' + chk_id + '" type="checkbox" value="checked" /></td>\r\n' + \
                        '<td class="msg-from-field">' + peers_html.split('</a>')[0] + '</a>...' + '</td>\r\n' + \
                        '<td class="msg-subject"><span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_id + '\', \'' + msg_row_xp_id + '\');">' + msg.subject + '</span>'
            if msg.body.strip():
                html += '<span class="dimmed-text"> ' + dataplus.getPreviewText(msg.body) + '</span>'
            html += '</td>\r\n' + \
                         '<td class="msg-datetime-field">' + dataplus.getShortRelativeDateTime(msg.sent_at) + '</td>' + \
                   '</tr></table>\r\n'
            html += '</div>\r\n'
           
            html += '<div id="' + msg_row_xp_id + '" class="email-msg-xp" style="display:none">\r\n'
            html += '<div style="font-size:12px;font-weight:bold">\r\n' + peers_html + ' - ' \
                        '<span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');">'+ msg.subject + '</span>' + \
                    '</div>\r\n<div class="small-text" style="color:#999999;">' + \
                    dataplus.getRelativeDateTime(msg.sent_at) + '</div>\r\n' + msg.body + '\n' \
                    '<table><tr>\r\n' + \
                        '<td><input class="small-btn" type="button" name="hide-btn" value="Hide" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');" /></td>' + \
                        '<td><input class="small-btn" type="button" name="delete-btn" value="Delete" onclick="javascript:deleteMessage(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\');" /></td>' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'            
                    
    html += '</div>\r\n'        
    html += '<div>'
    if paginator.count > 0:
        html += '<p><span style="color:#999999">Showing ' + str(page.start_index()) + '-' + str(page.end_index()) + \
            ' of ' + str(paginator.count) + ' </span></p>'

    html += '<table class="button-box"><tr>\r\n'
    if page_num != 1:
        html += '<td><input class="medium-btn" type="button" name="prev-btn" value="Prev" onclick="javascript:window.location.href=\'/mailbox/sentitems.htm?page=' + str(page_num-1) + '\';" /></td>\r\n'
    if page.has_next():
        html += '<td><input class="medium-btn" type="button" name="prev-btn" value="Next" onclick="javascript:window.location.href=\'/mailbox/sentitems.htm?page=' + str(page_num+1) + '\';" /></td>\r\n'
    html += '</tr></table>\r\n'

    html += '</div>'
    return html
Ejemplo n.º 2
0
def getMessageBoxHtml(msgs):
    if not msgs:
        return ''
    
    html = ''    
    for msg in msgs:
        msg_row_id = 'email' + str(msg.id)
        msg_row_xp_id = 'emailxp' + str(msg.id)
        msg_reply_box = 'email_reply_box-' + str(msg.id)
        
        if msg.message_type == 'SA':
            html += '<div id="' + msg_row_id + '" class="email-msg-item">\r\n'
            html += '<table class="msg-item-table"><tr>\r\n' + \
                        '<td class="msg-from-field">Socialray </td>\r\n' + \
                        '<td class="msg-subject"><span class="linkless" onclick="javascript:viewMessage(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');">'
            if not msg.read:
                html += '<strong>' + msg.subject + '</strong>'
            else:
                html += msg.subject
            html += '</span>'
            if msg.body.strip():    html += '<span class="dimmed-text"> ' + dataplus.getPreviewText(msg.body) + '</span>'
            html += '</td>\r\n' + \
                    '<td class="msg-datetime-field">' + dataplus.getShortRelativeDateTime(msg.sent_at) + '</td>\r\n' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'
            
            html += '<div id="' + msg_row_xp_id + '" class="email-msg-xp" style="display:none">\r\n'
            html += '<div style="font-size:12px;font-weight:bold">\r\nSocialray - ' \
                        '<span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');">'+ msg.subject +'</span>' + \
                    '</div>\r\n<div class="small-text" style="color:#999999;">' + \
                    dataplus.getRelativeDateTime(msg.sent_at) + '</div>\r\n'  + msg.body + '\r\n' \
                    '<table><tr>\r\n' + \
                        '<td><input class="small-btn" type="button" name="finish" value="Hide" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');" /></td>' + \
                        '<td><input class="small-btn" type="button" name="finish" value="Delete" onclick="javascript:deleteMessage(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\');" /></td>' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'
            
        elif msg.message_type == 'TM':
            if msg.sender.account_type == 'U':
                sender_url = config.profiles_url + '/' + msg.sender.username
            elif msg.sender.account_type == 'R':
                rec = msg.sender.recruiter.all()[0]
                sender_url = config.recruiters_url + '/' + str(rec.id)

            html += '<div id="' + msg_row_id + '" class="email-msg-item">\r\n'
            html += '<table class="msg-item-table"><tr>\r\n' + \
                        '<td class="msg-from-field"><a href="' + sender_url + '">' + msg.sender.name + ' </a></td>\r\n' + \
                        '<td class="msg-subject"><span class="linkless" onclick="javascript:viewMessage(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');">'
            if not msg.read:
                html += '<strong>' + msg.subject + '</strong>'
            else:
                html += msg.subject
            html += '</span>'
            if msg.body.strip():    html += '<span class="dimmed-text"> ' + dataplus.getPreviewText(msg.body) + '</span>'
            html += '</td>\r\n' + \
                    '<td class="msg-datetime-field">' + dataplus.getShortRelativeDateTime(msg.sent_at) + '</td>\r\n' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'
            
            reply_subject = msg.subject.replace("'", "\\'")
            if not reply_subject.startswith('Re: Re: '):
                reply_subject = 'Re: ' + reply_subject
            html += '<div id="' + msg_row_xp_id + '" class="email-msg-xp" style="display:none">\r\n'
            html += '<div style="font-size:12px;font-weight:bold">\r\n' + \
                        '<a href="' + sender_url + '">' + msg.sender.name + '</a> - ' \
                        '<span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');">'+ msg.subject +'</span>' + \
                    '</div>\r\n<div class="small-text" style="color:#999999;">' + \
                    dataplus.getRelativeDateTime(msg.sent_at) + '</div>\r\n' + msg.body + '\r\n' \
                    '<table><tr>\r\n' + \
                        '<td><input class="small-btn" type="button" name="finish" value="Reply" onclick="javascript:showSendMsgBox(\'' + msg_reply_box + '\', \'' + msg.sender.username + '\', \'' + reply_subject + '\', \'' + str(msg.id) + '\');" /></td>' + \
                        '<td><input class="small-btn" type="button" name="finish" value="Hide" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');" /></td>' + \
                        '<td><input class="small-btn" type="button" name="finish" value="Delete" onclick="javascript:deleteMessage(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\');" /></td>' + \
                    '</tr></table>\r\n'
            html += '<div id="' + msg_reply_box + '"></div>\r\n'
            html += '</div>\r\n'
    return html
Ejemplo n.º 3
0
def getMessageBoxHtml(request, tom):
    page_num = dataplus.dictGetVal(request.REQUEST, 'page', 1, string.atoi)

    paginator = Paginator(models.Message.objects.filter \
        (account__id=tom.account.id, folder='trashcan') \
        .order_by('-sent_at'), config.messages_per_page)

    if paginator.num_pages == 0: return ''
    
    page = paginator.page(page_num)
    
    html = ''
    ctr = 0
    html += '<div>'
    for msg in page.object_list:
        ctr = ctr + 1
        chk_id = 'chkMsg_' + str(msg.id)
       
        if msg.message_type == 'SA':
            msg_row_id = 'email' + str(ctr)
            msg_row_xp_id = 'emailxp' + str(ctr)

            html += '<div id="' + msg_row_id + '" class="email-msg-item">\r\n'
            html += '<table class="msg-item-table"><tr>\r\n' + \
                        '<td class="msg-selection" ><input id="' + chk_id + '" name="' + chk_id + '" class="msg-selection-check" type="checkbox" value="checked" /></td>\r\n' + \
                        '<td class="msg-from-field">Socialray </td>\r\n' + \
                        '<td class="msg-subject"><span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_id + '\', \'' + msg_row_xp_id + '\');">' + msg.subject + '</span>'
            if msg.body.strip():
                html += '<span class="dimmed-text"> ' + dataplus.getPreviewText(msg.body) + '</span>'
            html += '</td>\r\n' + \
                        '<td class="msg-datetime-field">' + dataplus.getShortRelativeDateTime(msg.sent_at) + '</td>' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'
            
            html += '<div id="' + msg_row_xp_id + '" class="email-msg-xp" style="display:none">\r\n'
            html += '<div style="font-size:12px;font-weight:bold">\r\nSocialray - ' + \
                        '<span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');">'+ msg.subject + '</span>' + \
                    '</div>\r\n<div class="small-text" style="color:#999999;">' + \
                    dataplus.getRelativeDateTime(msg.sent_at) + '</div>\r\n' + msg.body + '\n' \
                    '<table><tr>\r\n' + \
                        '<td><input class="small-btn" type="button" name="hide-btn" value="Hide" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');" /></td>' + \
                        '<td><input class="medium-btn" type="button" name="inbox-btn" value="Move to Inbox" onclick="javascript:moveToInbox(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\');" /></td>' + \
                        '<td><input class="small-btn" type="button" name="delete-btn" value="Delete" onclick="javascript:deleteMessage(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\');" /></td>' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'
            
        elif msg.message_type == 'TM':
            msg_row_id = 'email' + str(ctr)
            msg_row_xp_id = 'emailxp' + str(ctr)
            
            if msg.sender.account_type == 'U':
                sender_url = config.profiles_url + '/' + msg.sender.username
            elif msg.sender.account_type == 'R':
                rec = msg.sender.recruiter.all()[0]
                sender_url = config.recruiters_url + '/' + str(rec.id)

            html += '<div id="' + msg_row_id + '" class="email-msg-item">\r\n'
            html += '<table class="msg-item-table"><tr>\r\n' + \
                        '<td class="msg-selection" ><input id="' + chk_id + '" name="' + chk_id + '" class="msg-selection-check" type="checkbox" value="checked" /></td>\r\n' + \
                        '<td class="msg-from-field"><a href="' + sender_url + '">' + msg.sender.name + ' </a></td>\r\n' + \
                        '<td class="msg-subject"><span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_id + '\', \'' + msg_row_xp_id + '\');">' + msg.subject + '</span><span class="dimmed-text"> ' + dataplus.getPreviewText(msg.body) + '</span></td>\r\n' + \
                        '<td class="msg-datetime-field">' + dataplus.getShortRelativeDateTime(msg.sent_at) + '</td>' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'
            
            html += '<div id="' + msg_row_xp_id + '" class="email-msg-xp" style="display:none">\r\n'
            html += '<div style="font-size:12px;font-weight:bold">\r\n' + \
                        '<a href="' + sender_url + '">' + msg.sender.name + '</a> - ' + \
                        '<span class="linkless" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');">'+ msg.subject + '</span>' + \
                    '</div>\r\n<div class="small-text" style="color:#999999;">' + \
                    dataplus.getRelativeDateTime(msg.sent_at) + '</div>\r\n' + msg.body + '\n' \
                    '<table><tr>\r\n' + \
                        '<td><input class="small-btn" type="button" name="hide-btn" value="Hide" onclick="javascript:fx_flipElem(\'' + msg_row_xp_id + '\', \'' + msg_row_id + '\');" /></td>' + \
                        '<td><input class="medium-btn" type="button" name="inbox-btn" value="Move to Inbox" onclick="javascript:moveToInbox(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\');" /></td>' + \
                        '<td><input class="small-btn" type="button" name="delete-btn" value="Delete" onclick="javascript:deleteMessage(\'' + str(msg.id) + '\', \'' + msg_row_xp_id + '\');" /></td>' + \
                    '</tr></table>\r\n'
            html += '</div>\r\n'            
                    
    html += '</div>\r\n'        
    html += '<div>'
    if paginator.count > 0:
        html += '<p><span style="color:#999999">Showing ' + str(page.start_index()) + '-' + str(page.end_index()) + \
            ' of ' + str(paginator.count) + ' </span></p>'

    html += '<table class="button-box"><tr>\r\n'
    if page_num != 1:
        html += '<td><input class="medium-btn" type="button" name="prev-btn" value="Prev" onclick="javascript:window.location.href=\'/mailbox/trashcan.htm?page=' + str(page_num-1) + '\';" /></td>\r\n'
    if page.has_next():
        html += '<td><input class="medium-btn" type="button" name="prev-btn" value="Next" onclick="javascript:window.location.href=\'/mailbox/trashcan.htm?page=' + str(page_num+1) + '\';" /></td>\r\n'
    html += '</tr></table>\r\n'

    html += '</div>'
    return html