def tmpl_linkback_tuple(self, linkbacks, ln): """ Display a linkback @param linkbacks: collection of linkbacks: [(linkback_id, origin_url, recid, additional_properties, type, status, insert_time)] """ _ = gettext_set_language(ln) out = '<table width="95%" style="display: inline";>' for current_linkback in linkbacks: url = current_linkback[1] out += '''<tr><td><font class="rankscoreinfo"><a>(%(type)s) </a></font><small> <a href="%(origin_url)s" target="_blank">%(page_title)s</a> %(submit_date)s</small></td></tr>''' % { 'type': current_linkback[4], 'origin_url': cgi.escape(url), 'page_title': cgi.escape(get_url_title(url)), 'submit_date': '(submitted on <i>' + convert_datetext_to_dategui(str(current_linkback[6])) + '</i>)'} out += '</table>' return out
def tmpl_linkback_tuple_admin(self, url_approve_prefix, url_reject_prefix, linkbacks, ln): """ Display linkbacks with admin approve/reject features @param linkbacks: collection of linkbacks: [(linkback_id, origin_url, recid, additional_properties, type, status, insert_time)] """ _ = gettext_set_language(ln) out = '' for current_linkback in linkbacks: linkbackid = current_linkback[0] url = current_linkback[1] out += '<div style="margin-bottom:20px;background:#F9F9F9;border:1px solid #DDD">' out += '<div style="background-color:#EEE;padding:2px;font-size:small"> %s</div>' % (_('Submitted on') + ' <i>' + convert_datetext_to_dategui(str(current_linkback[6])) + '</i>:') out += '<br />' out += '<blockquote>' out += '''<font class="rankscoreinfo"><a>(%(type)s) </a></font><small> <a href="%(origin_url)s" target="_blank">%(page_title)s</a></small>''' % { 'type': current_linkback[4], 'origin_url': cgi.escape(url), 'page_title': cgi.escape(get_url_title(url))} out += '</blockquote>' out += '<br />' out += '<div style="float:right">' out += '<small>' out += '''<a style="color:#8B0000;" href="%s&linkbackid=%s">%s</a>''' % (url_approve_prefix, linkbackid, _("Approve")) out += ' | ' out += '''<a style="color:#8B0000;" href="%s&linkbackid=%s">%s</a>''' % (url_reject_prefix, linkbackid, _("Reject")) out += '</small>' out += '</div>' out += '</div>' return out
def perform_request_display_linkbacks(status, return_code, ln=CFG_SITE_LANG): """ Display linkbacks @param status: of CFG_WEBLINKBACK_STATUS, currently only CFG_WEBLINKBACK_STATUS['PENDING'] is supported """ _ = gettext_set_language(ln) if status == CFG_WEBLINKBACK_STATUS['PENDING']: linkbacks = get_all_linkbacks(status=status, order=CFG_WEBLINKBACK_ORDER_BY_INSERTION_TIME['DESC']) entries = [] for (linkbackid, origin_url, recid, additional_properties, linkback_type, linkback_status, insert_time) in linkbacks: # pylint: disable=W0612 moderation_prefix = '<a href="moderatelinkback?action=%%s&linkbackid=%s&ln=%s">%%s</a>' % (linkbackid, ln) entries.append((linkback_type, format_record(recID=recid, of='hs', ln=ln), '<a href="%s">%s</a>' % (cgi.escape(origin_url), cgi.escape(get_url_title(origin_url))), convert_datetext_to_dategui(str(insert_time)), moderation_prefix % (CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['APPROVE'], 'Approve') + " / " + moderation_prefix % (CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['REJECT'], 'Reject'))) header = ['Linkback type', 'Record', 'Origin', 'Submitted on', ''] error_message = "" if return_code != CFG_WEBLINKBACK_ACTION_RETURN_CODE['OK']: error_message = _("Unknown error") if return_code == CFG_WEBLINKBACK_ACTION_RETURN_CODE['INVALID_ACTION']: error_message = _("Invalid action") error_message_html = "" if error_message != "": error_message_html = "<dt><b><font color=red>" + error_message + "</font></b></dt>" + "<br>" out = """ <dl> %(error_message)s <dt>%(heading)s</dt> <dd>%(description)s</dd> </dl> """ % {'heading': _("Pending linkbacks"), 'description': _("these linkbacks are not visible to users, they must be approved or rejected."), 'error_message': error_message_html} if entries: out += tupletotable(header=header, tuple=entries, highlight_rows_p=True, alternate_row_colors_p=True) else: out += "<i>There are no %s linkbacks.</i>" % status.lower() return addadminbox('<b>%s</b>'% _("Reduce the amount of currently pending linkback requests"), [out]) else: return "<i>%s</i>" % _('Currently only pending linkbacks are supported.')
def tmpl_get_latest_linkbacks(self, latest_linkbacks, ln): """ Display approved latest added linkbacks to display @param latest_linkbacks: a list of lists of linkbacks """ result = '' for i in range(len(latest_linkbacks)): day_group = latest_linkbacks[i] date = day_group[0][6] date_day_month = convert_datetext_to_dategui(str(date))[:6] result += self.tmpl_heading(date_day_month) for j in range(len(day_group)): current_linkback = day_group[j] link_type = current_linkback[4] url = str(current_linkback[1]) recordid = current_linkback[2] result += '<font class="rankscoreinfo"><a>(%s) </a></font>' % link_type result += '<small>' result += '<a href="%s">%s</a> links to ' % (cgi.escape(url), cgi.escape(get_url_title(url))) result += format_record(recID=recordid, of='hs', ln=ln) result += '</small>' result += '<br>' result += '<br>' return result
def perform_request_display_linkbacks(status, return_code, ln=CFG_SITE_LANG): """ Display linkbacks @param status: of CFG_WEBLINKBACK_STATUS, currently only CFG_WEBLINKBACK_STATUS['PENDING'] is supported """ _ = gettext_set_language(ln) if status == CFG_WEBLINKBACK_STATUS['PENDING']: linkbacks = get_all_linkbacks( status=status, order=CFG_WEBLINKBACK_ORDER_BY_INSERTION_TIME['DESC']) entries = [] for (linkbackid, origin_url, recid, additional_properties, linkback_type, linkback_status, insert_time) in linkbacks: # pylint: disable=W0612 moderation_prefix = '<a href="moderatelinkback?action=%%s&linkbackid=%s&ln=%s">%%s</a>' % ( linkbackid, ln) entries.append(( linkback_type, format_record(recID=recid, of='hs', ln=ln), '<a href="%s">%s</a>' % (cgi.escape(origin_url), cgi.escape( get_url_title(origin_url))), convert_datetext_to_dategui(str(insert_time)), moderation_prefix % (CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['APPROVE'], 'Approve') + " / " + moderation_prefix % (CFG_WEBLINKBACK_ADMIN_MODERATION_ACTION['REJECT'], 'Reject'))) header = ['Linkback type', 'Record', 'Origin', 'Submitted on', ''] error_message = "" if return_code != CFG_WEBLINKBACK_ACTION_RETURN_CODE['OK']: error_message = _("Unknown error") if return_code == CFG_WEBLINKBACK_ACTION_RETURN_CODE[ 'INVALID_ACTION']: error_message = _("Invalid action") error_message_html = "" if error_message != "": error_message_html = "<dt><b><font color=red>" + error_message + "</font></b></dt>" + "<br>" out = """ <dl> %(error_message)s <dt>%(heading)s</dt> <dd>%(description)s</dd> </dl> """ % { 'heading': _("Pending linkbacks"), 'description': _("these linkbacks are not visible to users, they must be approved or rejected." ), 'error_message': error_message_html } if entries: out += tupletotable(header=header, tuple=entries, highlight_rows_p=True, alternate_row_colors_p=True) else: out += "<i>There are no %s linkbacks.</i>" % status.lower() return addadminbox( '<b>%s</b>' % _("Reduce the amount of currently pending linkback requests"), [out]) else: return "<i>%s</i>" % _( 'Currently only pending linkbacks are supported.')