Merge branch 'master' of github.com:bornhack/bornhack-website

This commit is contained in:
Stephan Telling 2017-07-09 21:26:20 +02:00
commit b9fcd841f7
8 changed files with 187 additions and 25 deletions

View file

@ -48,4 +48,5 @@ class CampDetailView(DetailView):
class CampListView(ListView): class CampListView(ListView):
model = Camp model = Camp
template_name = 'camp_list.html' template_name = 'camp_list.html'
queryset = Camp.objects.all().order_by('camp')

View file

@ -11,6 +11,7 @@ class SpeakerProposalAdmin(admin.ModelAdmin):
mark_speakerproposal_as_approved.description = 'Approve and create Speaker object(s)' mark_speakerproposal_as_approved.description = 'Approve and create Speaker object(s)'
actions = ['mark_speakerproposal_as_approved'] actions = ['mark_speakerproposal_as_approved']
list_filter = ('camp', 'proposal_status', 'user')
@admin.register(EventProposal) @admin.register(EventProposal)
@ -21,6 +22,7 @@ class EventProposalAdmin(admin.ModelAdmin):
mark_eventproposal_as_approved.description = 'Approve and create Event object(s)' mark_eventproposal_as_approved.description = 'Approve and create Event object(s)'
actions = ['mark_eventproposal_as_approved'] actions = ['mark_eventproposal_as_approved']
list_filter = ('camp', 'proposal_status', 'user')
@admin.register(EventLocation) @admin.register(EventLocation)
@ -40,7 +42,7 @@ class EventTypeAdmin(admin.ModelAdmin):
@admin.register(Speaker) @admin.register(Speaker)
class SpeakerAdmin(admin.ModelAdmin): class SpeakerAdmin(admin.ModelAdmin):
pass list_filter = ('camp',)
@admin.register(Favorite) @admin.register(Favorite)
@ -54,6 +56,7 @@ class SpeakerInline(admin.StackedInline):
@admin.register(Event) @admin.register(Event)
class EventAdmin(admin.ModelAdmin): class EventAdmin(admin.ModelAdmin):
list_filter = ('camp', 'speakers')
list_display = [ list_display = [
'title', 'title',
'event_type', 'event_type',

View file

@ -12,23 +12,26 @@ class ScheduleConsumer(JsonWebsocketConsumer):
def connect(self, message, **kwargs): def connect(self, message, **kwargs):
camp_slug = message.http_session['campslug'] camp_slug = message.http_session['campslug']
camp = Camp.objects.get(slug=camp_slug) try:
days = list(map( camp = Camp.objects.get(slug=camp_slug)
lambda day: days = list(map(
{ 'repr': day.lower.strftime('%A %Y-%m-%d') lambda day:
, 'iso': day.lower.strftime('%Y-%m-%d') { 'repr': day.lower.strftime('%A %Y-%m-%d')
, 'day_name': day.lower.strftime('%A') , 'iso': day.lower.strftime('%Y-%m-%d')
}, , 'day_name': day.lower.strftime('%A')
camp.get_days('camp') },
)) camp.get_days('camp')
event_instances_query_set = EventInstance.objects.filter(event__camp=camp) ))
event_instances = list(map(lambda x: x.to_json(), event_instances_query_set)) event_instances_query_set = EventInstance.objects.filter(event__camp=camp)
self.send({ event_instances = list(map(lambda x: x.to_json(), event_instances_query_set))
"accept": True, self.send({
"event_instances": event_instances, "accept": True,
"days": days, "event_instances": event_instances,
"action": "init" "days": days,
}) "action": "init"
})
except Camp.DoesNotExist:
pass
def raw_receive(self, message, **kwargs): def raw_receive(self, message, **kwargs):
content = self.decode_json(message['text']) content = self.decode_json(message['text'])

View file

@ -485,6 +485,7 @@ class EventInstance(CampRelatedModel):
'location': self.location.slug, 'location': self.location.slug,
'location_icon': self.location.icon, 'location_icon': self.location.icon,
'timeslots': self.timeslots, 'timeslots': self.timeslots,
'video_recording': self.event.video_recording
} }
if user and user.is_authenticated: if user and user.is_authenticated:

View file

@ -1,13 +1,16 @@
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
def check_speaker_event_camp_consistency(sender, instance, **kwargs): def check_speaker_event_camp_consistency(sender, instance, **kwargs):
if kwargs['action'] == 'pre_add': if kwargs['action'] == 'pre_add':
# loop over speakers being added to this event
for pk in kwargs['pk_set']: for pk in kwargs['pk_set']:
# check if this event belongs to a different event than the speaker does # check if this speaker belongs to a different event than the event does
from program.models import Event from program.models import Speaker
event = Event.objects.get(id=pk) speaker = Speaker.objects.get(id=pk)
if event.camp != instance.camp: if speaker.camp != instance.camp:
raise ValidationError({'events': 'One or more events belong to a different camp (%s) than the speaker (%s) does' % (event.camp, instance.camp)}) raise ValidationError({'speakers': 'The speaker (%s) belongs to a different camp (%s) than the event does (%s)' % (speaker, speaker.camp, instance.camp)})
def check_speaker_camp_change(sender, instance, **kwargs): def check_speaker_camp_change(sender, instance, **kwargs):
if instance.pk: if instance.pk:

View file

@ -39,6 +39,7 @@ function setup_websocket() {
modal_body_content.innerHTML = payload['event_instance']['abstract']; modal_body_content.innerHTML = payload['event_instance']['abstract'];
more_button = modal.getElementsByClassName('more-button')[0]; more_button = modal.getElementsByClassName('more-button')[0];
more_button.setAttribute('href', payload['event_instance']['url']); more_button.setAttribute('href', payload['event_instance']['url']);
favorite_button = modal.getElementsByClassName('favorite-button')[0]; favorite_button = modal.getElementsByClassName('favorite-button')[0];
if(payload['event_instance']['is_favorited'] !== undefined) { if(payload['event_instance']['is_favorited'] !== undefined) {
favorite_button.setAttribute('data-state', payload['event_instance']['is_favorited']) favorite_button.setAttribute('data-state', payload['event_instance']['is_favorited'])
@ -48,6 +49,7 @@ function setup_websocket() {
} }
speakers_div = modal.getElementsByClassName('speakers')[0]; speakers_div = modal.getElementsByClassName('speakers')[0];
speakers_div.innerHTML = "";
speakers = payload['event_instance']['speakers']; speakers = payload['event_instance']['speakers'];
for(speaker_id in speakers) { for(speaker_id in speakers) {
var speaker = speakers[speaker_id]; var speaker = speakers[speaker_id];
@ -58,6 +60,14 @@ function setup_websocket() {
speaker_li.appendChild(speaker_a); speaker_li.appendChild(speaker_a);
speakers_div.appendChild(speaker_li); speakers_div.appendChild(speaker_li);
} }
video_recording_element = modal.getElementsByClassName('video-recording')[0];
if(payload['event_instance']['video_recording'] == true) {
video_recording_element.innerHTML = 'This event will be recorded!';
} else {
video_recording_element.remove();
}
} }
if(payload['action'] == 'init') { if(payload['action'] == 'init') {
EVENT_INSTANCES = payload['event_instances']; EVENT_INSTANCES = payload['event_instances'];
@ -289,6 +299,14 @@ function render_event_instance(event_instance) {
icon_element.classList.add('fa'); icon_element.classList.add('fa');
icon_element.classList.add('pull-right'); icon_element.classList.add('pull-right');
if(event_instance['video_recording'] == true) {
video_recording_element = document.createElement('i');
video_recording_element.classList.add('fa-video-camera');
video_recording_element.classList.add('fa');
video_recording_element.classList.add('pull-right');
element.appendChild(video_recording_element);
}
element.appendChild(time_element); element.appendChild(time_element);
element.appendChild(icon_element); element.appendChild(icon_element);
element.appendChild(title_element); element.appendChild(title_element);
@ -369,7 +387,6 @@ function openModal(e) {
modal_header.appendChild(modal_close_button); modal_header.appendChild(modal_close_button);
modal_header.appendChild(modal_title); modal_header.appendChild(modal_title);
modal_body_content = document.createElement('div'); modal_body_content = document.createElement('div');
modal_body_content.classList.add('modal-body'); modal_body_content.classList.add('modal-body');
modal_body_content.classList.add('modal-body-content'); modal_body_content.classList.add('modal-body-content');
@ -378,7 +395,7 @@ function openModal(e) {
modal_body = document.createElement('div'); modal_body = document.createElement('div');
modal_body.classList.add('modal-body'); modal_body.classList.add('modal-body');
modal_content.appendChild(modal_body); modal_content.appendChild(modal_body);
modal_body.innerHTML = '<h4>Speaker(s):</h4><ul class="speakers"></ul>'; modal_body.innerHTML = '<h4>Speaker(s):</h4><ul class="speakers"></ul><div class="alert alert-info" role="alert"><i class="fa fa-video-camera"></i> <span class="video-recording"></span></div>';
modal_footer = document.createElement('div'); modal_footer = document.createElement('div');
modal_footer.classList.add('modal-footer'); modal_footer.classList.add('modal-footer');

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg3336"
version="1.1"
width="350"
height="400"
viewBox="0 0 350 400"
inkscape:version="0.91 r13725"
sodipodi:docname="bornhack-2019-logo-large.svg">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="877"
id="namedview4337"
showgrid="false"
inkscape:zoom="1.7175"
inkscape:cx="253.34387"
inkscape:cy="201.82043"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g5205" />
<metadata
id="metadata3342">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3340">
<linearGradient
id="linearGradient5690"
osb:paint="solid">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop5692" />
</linearGradient>
</defs>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="-595.58606"
y="18.180925"
id="text5110"><tspan
id="tspan5112"
x="-595.58606"
y="18.180925" /></text>
<g
transform="translate(10.849695,-11.572856)"
id="g5205">
<path
id="path3346-1-8-4-4"
d="m 62.414644,37.281136 0,10.86095 20.8864,13.36732 10.0254,30.91194 9.190096,3.34182 5.0128,-2.50639 10.0254,9.190024 9.19,-0.83543 7.5191,15.87371 7.5192,0 25.8991,11.69637 4.1774,5.8482 4.1773,-0.8354 15.0382,-7.51916 5.0128,5.01274 10.0254,24.22822 20.051,16.70919 8.3546,0.8355 34.2538,23.3927 22.5573,9.1901 8.3545,-2.5064 18.3801,17.5446 -3.3418,6.6837 1.6709,2.5064 -8.3545,7.5191 4.1772,14.2028 -2.5063,2.5063 5.8482,14.2028 0.8354,11.6964 -9.19,10.861 0,11.6964 -9.1901,8.3546 0,6.6836 -7.5191,9.18996 2.5064,8.3547 3.3418,10.8609 1.6709,5.0127 -26.7346,32.5829 -7.5191,5.8482 -10.861,-6.6837 -17.5445,-1.671 -7.5191,-4.1772 -35.9248,-8.3545 -18.3801,-12.5319 -5.8482,1.6709 -11.6963,-11.6964 -36.7602,-13.3674 -1.6709,-5.0127 -11.6964,1.671 -23.392696,-13.36726 -10.861,4.1772 -26.7346,-17.5446 -7.5191,-13.3673 -8.3545,0 -10.861,-12.5319 -0.8354,-7.5191 -6.6838,-3.3418 5.0128,-12.5319 0.8355,-13.3673 5.0127,-33.4183 -10.0256,-35.9247 8.3547,-44.27925 22.5574,-50.962884 3.3418,-29.24104 z"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:16.71570587;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:3.79999995;stroke-dasharray:none;stroke-opacity:1" />
<g
transform="matrix(1.2049576,0,0,1.2049576,-2.0715326,-51.504782)"
id="g5708">
<path
inkscape:connector-curvature="0"
id="path5989-3-1-0-2-5-3"
d="m 29.991144,222.00374 c 7.2008,0.2071 14.5738,-0.9774 21.6144,0.9997 6.4251,2.8119 6.8498,11.9041 5.3453,18.1241 -0.5309,3.4867 -8.8255,3.3795 -2.804,4.6953 5.3704,2.2947 4.4519,9.2564 4.5895,14.3209 0.1058,8.6121 -3.5639,11.2015 -10.7945,11.8537 -5.8199,0.175 -11.6437,0.158 -17.4652,0.2452 l -0.4858,-50.2388 z m 12.2722,8.4636 0.1083,11.171 c 5.9511,1.4928 5.5624,-12.5542 -0.1083,-11.171 z m 0.1836,18.9909 0.1361,14.0569 c 5.0659,0.7409 3.8269,-5.351 3.9109,-8.783 0.2714,-3.3539 -0.3508,-5.7582 -4.0467,-5.2739 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22068286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path5991-3-3-0-8-1-5"
d="m 81.869544,251.60724 c -0.3977,4.1954 -0.4754,8.4878 -1.6012,12.5625 -1.4992,4.6572 -5.8274,7.7592 -10.3107,8.1705 -5.2021,0.5597 -11.2174,-0.6123 -14.4805,-5.332 -2.038,-2.7755 -2.3996,-6.419 -2.1635,-9.8488 0.3578,-7.5339 0.9434,-15.0595 1.5951,-22.5737 0.3041,-3.58 0.8477,-7.4085 3.2907,-10.1282 3.8351,-4.5025 10.1558,-4.9977 15.346,-3.6613 4.147,0.9956 7.8973,4.2127 8.9907,8.719 0.8418,3.8101 0.2133,7.7841 0.085,11.6564 -0.2415,3.479 -0.5011,6.9571 -0.7524,10.4356 z m -10.9642,-17.3339 c 0.018,-1.8895 0.8875,-5.7669 -1.906,-5.5611 -2.1519,0.7381 -1.5669,3.7915 -1.9336,5.6661 -0.601,8.7355 -1.3377,17.4638 -1.8402,26.2048 -0.5613,1.8971 0.9046,4.4181 2.8182,2.9842 1.162,-1.7927 0.8889,-4.1908 1.1907,-6.2666 0.5571,-7.6758 1.1139,-15.3515 1.6709,-23.0274 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22068286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path5993-3-5-1-9-5-3"
d="m 78.365444,221.56834 c 6.4844,0.013 12.9941,-0.4245 19.454,0.3358 3.943796,0.346 6.940696,4.0821 7.475296,8.1399 0.5542,3.8163 0.7212,7.8396 -0.2821,11.5864 -0.7621,2.6801 -3.6004,3.4986 -5.916296,3.7337 2.466696,0.5405 5.054796,1.7828 6.090596,4.4302 0.9488,2.5535 0.5896,5.4013 0.748,8.0925 0.045,4.5418 0.088,9.0838 0.1313,13.6258 -3.7735,0.041 -7.546796,0.081 -11.320496,0.1221 -0.093,-6.3046 -0.053,-12.6135 -0.2422,-18.9151 0.245,-2.2094 -1.2182,-4.1026 -3.3754,-3.6968 -0.6447,0.1463 -0.1387,1.5156 -0.2861,2.1905 0.066,6.8204 0.1316,13.6411 0.1977,20.4616 -4.0628,0.044 -8.1259,0.087 -12.189,0.1313 -0.1621,-16.7463 -0.3238,-33.4924 -0.4858,-50.2387 z m 12.2724,8.4636 c 0.035,3.7237 0.071,7.4473 0.1083,11.171 2.0546,0.3626 3.9954,-1.0285 3.6437,-3.4201 -0.054,-2.0818 0.2085,-4.2318 -0.3476,-6.253 -0.5087,-1.4497 -2.1892,-1.4816 -3.4041,-1.498 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22068286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path5995-2-6-3-1-4-9"
d="m 129.01414,221.01094 c 0.1619,16.7464 0.324,33.4925 0.4859,50.2389 -3.5613,0.038 -7.1224,0.077 -10.6837,0.1161 -2.187,-7.5902 -4.3742,-15.1803 -6.5616,-22.7701 0.074,7.6128 0.1471,15.2257 0.2209,22.8388 -3.397,0.036 -6.7942,0.074 -10.1915,0.1101 -0.1618,-16.7465 -0.3237,-33.4927 -0.4857,-50.239 3.3972,-0.037 6.7944,-0.074 10.1915,-0.1102 2.3503,7.516 4.7011,15.0316 7.0516,22.5475 -0.073,-7.5405 -0.1454,-15.081 -0.2187,-22.6213 3.397,-0.037 6.7943,-0.074 10.1914,-0.1102 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22068286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path5997-3-2-2-1-2-00"
d="m 161.02654,221.09394 c 0.162,16.7464 0.3237,33.4926 0.4858,50.2391 -4.0632,0.044 -8.1261,0.088 -12.1892,0.1326 -0.068,-7.0337 -0.136,-14.0673 -0.204,-21.1008 -1.2159,0.015 -2.4322,0.025 -3.6479,0.039 0.068,7.0337 0.1361,14.0672 0.2038,21.101 -4.063,0.044 -8.126,0.088 -12.1892,0.1313 -0.1617,-16.7463 -0.3238,-33.4926 -0.4856,-50.239 4.0629,-0.044 8.126,-0.087 12.1891,-0.1313 0.058,5.989 0.116,11.9779 0.1738,17.9669 1.216,-0.015 2.4319,-0.026 3.648,-0.039 -0.057,-5.9891 -0.1159,-11.9779 -0.1737,-17.9668 4.0631,-0.044 8.126,-0.088 12.1891,-0.1329 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22068286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path5999-5-7-7-2-4-3"
d="m 180.58164,220.55884 c 2.488,16.7211 4.9756,33.4422 7.4635,50.1634 -4.1595,0.046 -8.3192,0.09 -12.4785,0.1356 -0.232,-3.0078 -0.4637,-6.0155 -0.6956,-9.0233 -1.4573,0.015 -2.9146,0.031 -4.3718,0.047 -0.2123,3.0126 -0.4245,6.0254 -0.6365,9.0378 -4.2078,0.045 -8.4157,0.092 -12.6233,0.1371 1.9035,-16.7687 3.8067,-33.5374 5.71,-50.306 5.8774,-0.064 11.7548,-0.1268 17.6323,-0.1909 z m -6.1441,32.373 c -0.8234,-7.0002 -1.4651,-14.0233 -2.0569,-21.0497 -0.8145,7.0174 -1.65,14.0383 -2.1122,21.0949 1.3897,-0.015 2.7794,-0.03 4.1691,-0.045 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22068286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path6001-3-8-8-0-0-6"
d="m 211.75134,242.43814 c -4.063,0.044 -8.1261,0.087 -12.1891,0.1326 -0.093,-4.1305 0.052,-8.2743 -0.2787,-12.3926 0.2001,-2.6909 -4.0511,-2.7314 -4.0449,-0.1331 -0.3673,4.139 -0.08,8.3082 -0.1076,12.4614 0.095,5.9382 0.035,11.8824 0.2499,17.8162 -0.3924,2.1708 1.7061,4.1694 3.5059,2.705 1.1775,-1.7493 0.6684,-4.1549 0.813,-6.1877 -0.02,-2.0155 -0.038,-4.0307 -0.059,-6.0458 4.0632,-0.044 8.1263,-0.088 12.1892,-0.1326 -0.021,4.6157 0.2929,9.4103 -1.2014,13.818 -2.2426,4.9642 -7.5524,7.4953 -12.5181,7.4932 -4.7041,0.1508 -10.099,-1.0655 -12.875,-5.5446 -2.0727,-3.8272 -2.005,-8.442 -2.186,-12.7317 -0.026,-6.9526 -0.2535,-13.9077 -0.067,-20.8581 -0.095,-4.3344 1.9253,-8.7158 5.5016,-10.8731 4.484,-2.7767 10.0996,-2.9271 14.9779,-1.3463 3.7118,1.3019 7.0528,4.5346 7.595,8.8447 0.7834,4.2704 0.6186,8.6457 0.6938,12.9746 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22099996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path6003-5-9-9-4-4-6"
d="m 237.53004,220.36544 c -2.2527,7.5862 -4.5055,15.1726 -6.7583,22.7591 2.6367,9.1575 5.2732,18.3149 7.91,27.4726 -4.1983,0.046 -8.3963,0.091 -12.5946,0.1358 -1.7099,-7.1608 -3.4201,-14.3215 -5.1303,-21.4821 0.07,7.1785 0.1393,14.3568 0.2082,21.5353 -4.063,0.044 -8.1259,0.087 -12.189,0.1326 -0.162,-16.7462 -0.3239,-33.4925 -0.4858,-50.2388 4.063,-0.044 8.1261,-0.088 12.1893,-0.1327 0.063,6.5062 0.1254,13.0124 0.1885,19.5185 1.7419,-6.5256 3.4837,-13.0513 5.2255,-19.577 3.8121,-0.04 7.6243,-0.083 11.4364,-0.1237 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;font-size:medium;line-height:125%;font-family:Impact;-inkscape-font-specification:'Impact Condensed';letter-spacing:0px;word-spacing:0px;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.22068286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<flowRoot
xml:space="preserve"
id="flowRoot4354"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="matrix(0.47700401,0,0,0.47700401,175.3533,210.72685)"><flowRegion
id="flowRegion4356"><rect
id="rect4358"
width="428.52985"
height="65.211052"
x="-163.02765"
y="130.42212" /></flowRegion><flowPara
id="flowPara4360"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:47.16941452px;font-family:Hack;-inkscape-font-specification:Hack">13/8-20/8 2019 2018</flowPara></flowRoot> </g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB