Add overlay badge support
Support so print can print only important text. SVG modified to use display:inline/none based on overlay True/False and a symlink to make it easy to change to a completely seperate svg if that is not optimal. SVG added layers to split text and graphic so graphics can be easily hidden and printed. Closes: #38
This commit is contained in:
parent
a7b619a2fd
commit
763f69cb61
3 changed files with 6872 additions and 3187 deletions
File diff suppressed because it is too large
Load diff
Before Width: | Height: | Size: 404 KiB After Width: | Height: | Size: 480 KiB |
1
pinaxcon/templates/registrasion/badge_overlay.svg
Symbolic link
1
pinaxcon/templates/registrasion/badge_overlay.svg
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
badge.svg
|
14
vendor/registrasion/registrasion/views.py
vendored
14
vendor/registrasion/registrasion/views.py
vendored
|
@ -1146,8 +1146,8 @@ def _convert_img(img, outformat="png",dpi=200,width=None):
|
||||||
stdout=subprocess.PIPE).stdout
|
stdout=subprocess.PIPE).stdout
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def render_badge(user, format="png"):
|
def render_badge(user, format="png", overlay=False):
|
||||||
rendered = render_badge_svg(user)
|
rendered = render_badge_svg(user, overlay=overlay)
|
||||||
if format == "png":
|
if format == "png":
|
||||||
rendered = _convert_img(rendered, outformat="png")
|
rendered = _convert_img(rendered, outformat="png")
|
||||||
elif format == "pdf":
|
elif format == "pdf":
|
||||||
|
@ -1167,14 +1167,20 @@ def render_badge(user, format="png"):
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def render_badge_svg(user):
|
def render_badge_svg(user, overlay=False):
|
||||||
''' Renders a single user's badge as SVG. '''
|
''' Renders a single user's badge as SVG. '''
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
"user": user,
|
"user": user,
|
||||||
|
"overlay": overlay
|
||||||
}
|
}
|
||||||
|
|
||||||
t = loader.get_template('registrasion/badge.svg')
|
if overlay:
|
||||||
|
template = 'registrasion/badge_overlay.svg'
|
||||||
|
else:
|
||||||
|
template = 'registrasion/badge.svg'
|
||||||
|
|
||||||
|
t = loader.get_template(template)
|
||||||
return t.render(data)
|
return t.render(data)
|
||||||
|
|
||||||
def badges(request):
|
def badges(request):
|
||||||
|
|
Loading…
Reference in a new issue