[fix] show 'click here' in expiry message if upgrade_url is available
This commit is contained in:
parent
3bb2fb966d
commit
b3546f1ebc
6 changed files with 47 additions and 20 deletions
|
|
@ -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"""
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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": {
|
||||
|
|
|
|||
|
|
@ -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
frappe/patches/v7_0/replace_upgrade_link_limit.py
Normal file
10
frappe/patches/v7_0/replace_upgrade_link_limit.py
Normal file
|
|
@ -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})
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue