def request_extension(request, primary_key):
"""Send email to admins to request :model:`library.Lendable` extension.
After renewing a lendable the max available (max_renewals) times
a user may request an extension. An email is sent to the site
ADMINS as found in the settings for this request.
Redirect:
:view:`library.index`
"""
admin_path_for_lendable = reverse(
'admin:library_lendable_change',
args=(primary_key,)
)
admin_url_for_lendable = settings.PRIMARY_URL + admin_path_for_lendable
try:
send_mail(
'openbare: request to extend due_date of PK#%s' % primary_key,
'Message from %s:\n%s\n\n%s' % (
request.user.username,
request.POST['message'],
admin_url_for_lendable
),
request.user.email,
_admin_emails()
)
except Exception as e:
messages.error(request, e)
else:
messages.success(
request,
'Your request was sent to the openbare Admins' +
' and will be evaluated.'
)
return redirect(reverse('library:index'))
评论列表
文章目录