Explorar el Código

[fix] show 'click here' in expiry message if upgrade_url is available

version-14
Anand Doshi hace 9 años
padre
commit
b3546f1ebc
Se han modificado 6 ficheros con 47 adiciones y 20 borrados
  1. +2
    -2
      frappe/commands/site.py
  2. +2
    -2
      frappe/core/page/usage_info/usage_info.js
  3. +22
    -14
      frappe/limits.py
  4. +2
    -1
      frappe/patches.txt
  5. +10
    -0
      frappe/patches/v7_0/replace_upgrade_link_limit.py
  6. +9
    -1
      frappe/public/js/frappe/toolbar.js

+ 2
- 2
frappe/commands/site.py Ver fichero

@@ -377,7 +377,7 @@ def _set_limits(context, site, limits):
new_limits = {}
for limit, value in limits:
if limit not in ('emails', 'space', 'users', 'expiry',
'support_email', 'support_chat', 'upgrade_link'):
'support_email', 'support_chat', 'upgrade_url'):
frappe.throw('Invalid limit {0}'.format(limit))

if limit=='expiry':
@@ -399,7 +399,7 @@ def _set_limits(context, site, limits):
@click.command('clear-limits')
@click.option('--site', help='site name')
@click.argument('limits', nargs=-1, type=click.Choice(['emails', 'space', 'users', 'expiry',
'support_email', 'support_chat', 'upgrade_link']))
'support_email', 'support_chat', 'upgrade_url']))
@pass_context
def clear_limits(context, site, limits):
"""Clears given limit from the site config, and removes limit from site config if its empty"""


+ 2
- 2
frappe/core/page/usage_info/usage_info.js Ver fichero

@@ -19,9 +19,9 @@ frappe.pages['usage-info'].on_page_load = function(wrapper) {

var btn_text = usage_info.limits.users == 1 ? __("Upgrade") : __("Renew / Upgrade");

if(usage_info.upgrade_link) {
if(usage_info.upgrade_url) {
page.set_primary_action(btn_text, function() {
window.open(usage_info.upgrade_link);
window.open(usage_info.upgrade_url);
});
}
}


+ 22
- 14
frappe/limits.py Ver fichero

@@ -21,13 +21,11 @@ def check_if_expired():
expires_on = formatdate(limits.get("expiry"))
support_email = limits.get("support_email")

if limits.upgrade_link:
upgrade_link = get_upgrade_link(limits.upgrade_link)
upgrade_link = '<a href="{upgrade_link}" target="_blank">{click_here}</a>'.format(upgrade_link=upgrade_link, click_here=_('click here'))
message = _("""Your subscription expired on {0}. To extend your subscription, {1}.""").format(expires_on, upgrade_link)
if limits.upgrade_url:
message = _("""Your subscription expired on {0}. To renew, {1}.""").format(expires_on, get_upgrade_link(limits.upgrade_url))

elif support_email:
message = _("""Your subscription expired on {0}. To extend your subscription, please send an email to {1}.""").format(expires_on, support_email)
message = _("""Your subscription expired on {0}. To renew, please send an email to {1}.""").format(expires_on, support_email)

else:
message = _("""Your subscription expired on {0}""").format(expires_on)
@@ -51,7 +49,8 @@ def get_expiry_message():
if "System Manager" not in frappe.get_roles():
return ""

if not get_limits().get("expiry"):
limits = get_limits()
if not limits.expiry:
return ""

expires_on = getdate(get_limits().get("expiry"))
@@ -59,18 +58,22 @@ def get_expiry_message():

message = ""
if today > expires_on:
message = _("Your subscription has expired")
message = _("Your subscription has expired.")
else:
days_to_expiry = (expires_on - today).days

if days_to_expiry == 0:
message = _("Your subscription will expire today")
message = _("Your subscription will expire today.")

elif days_to_expiry == 1:
message = _("Your subscription will expire tomorrow")
message = _("Your subscription will expire tomorrow.")

elif days_to_expiry <= EXPIRY_WARNING_DAYS:
message = _("Your subscription will expire on") + " " + formatdate(expires_on)
message = _("Your subscription will expire on {0}.").format(formatdate(expires_on))

if message and limits.upgrade_url:
upgrade_link = get_upgrade_link(limits.upgrade_url)
message += ' ' + _('To renew, {0}.').format(upgrade_link)

return message

@@ -106,13 +109,13 @@ def get_usage_info():
usage_info['expires_on'] = formatdate(limits.expiry)
usage_info['days_to_expiry'] = (getdate(limits.expiry) - getdate()).days

if limits.upgrade_link:
usage_info['upgrade_link'] = get_upgrade_link(limits.upgrade_link)
if limits.upgrade_url:
usage_info['upgrade_url'] = get_upgrade_url(limits.upgrade_url)

return usage_info

def get_upgrade_link(upgrade_link):
parts = urlparse.urlsplit(upgrade_link)
def get_upgrade_url(upgrade_url):
parts = urlparse.urlsplit(upgrade_url)
params = dict(urlparse.parse_qsl(parts.query))
params.update({
'site': frappe.local.site,
@@ -124,6 +127,11 @@ def get_upgrade_link(upgrade_link):
url = urlparse.urlunsplit((parts.scheme, parts.netloc, parts.path, query, parts.fragment))
return url

def get_upgrade_link(upgrade_url, label=None):
upgrade_url = get_upgrade_url(upgrade_url)
upgrade_link = '<a href="{upgrade_url}" target="_blank">{click_here}</a>'.format(upgrade_url=upgrade_url, click_here=label or _('click here'))
return upgrade_link

def get_limits():
'''
"limits": {


+ 2
- 1
frappe/patches.txt Ver fichero

@@ -132,4 +132,5 @@ frappe.patches.v7_0.setup_list_settings
execute:frappe.db.sql('''delete from `tabSingles` where doctype="Email Settings"''') # 2016-06-13
execute:frappe.db.sql("delete from `tabWeb Page` where ifnull(template_path, '')!=''")
frappe.patches.v7_0.re_route #2016-06-27
frappe.patches.v7_0.rename_newsletter_list_to_email_group
frappe.patches.v7_0.rename_newsletter_list_to_email_group
frappe.patches.v7_0.replace_upgrade_link_limit

+ 10
- 0
frappe/patches/v7_0/replace_upgrade_link_limit.py Ver fichero

@@ -0,0 +1,10 @@
from __future__ import unicode_literals
import frappe
from frappe.limits import get_limits, clear_limit, update_limits

def execute():
limits = get_limits()
if limits and limits.upgrade_link:
upgrade_url = limits.upgrade_link
clear_limit('upgrade_link')
update_limits({'upgrade_url': upgrade_url})

+ 9
- 1
frappe/public/js/frappe/toolbar.js Ver fichero

@@ -8,7 +8,15 @@ $(document).on("toolbar_setup", function() {
var limits = frappe.boot.limits;

if(frappe.boot.expiry_message) {
frappe.msgprint(frappe.boot.expiry_message)
var expiry_message_shown = localStorage.expiry_message_shown;

// if message is more than a day old, show message again
if (!(expiry_message_shown
&& (new Date() - new Date(expiry_message_shown) < 86400000))) {

localStorage.expiry_message_shown = new Date();
frappe.msgprint(frappe.boot.expiry_message);
}
}

if(limits.support_email || limits.support_chat) {


Cargando…
Cancelar
Guardar