fields.append(
('static:euvat', sponsor.vatnumber if sponsor else overrides.get('static:euvat', 'Sponsor EU VAT number')),
)
+ fields.extend([
+ ('static:clickthrough', overrides.get('static:clickthrough', 'Click-through agreement')),
+ ('static:clickthroughdate', str(sponsor.signupat.date()) if sponsor else overrides.get('static:clickthroughdate', 'Click-through date')),
+ ])
return fields
def sponsor_contractview(request, sponsorid):
sponsor, is_admin = _get_sponsor_and_admin(sponsorid, request)
- if not sponsor.contract.completed:
+ if not sponsor.level.contract:
+ # Should not happen
+ raise Http404("No contract at this level")
+
+ if sponsor.level.instantbuy:
+ # Click-through contract
+
+ resp = HttpResponse(content_type='application/pdf')
+ resp['Content-disposition'] = 'filename="%s.pdf"' % sponsor.name
+ resp.write(fill_pdf_fields(
+ sponsor.level.contract.contractpdf,
+ get_pdf_fields_for_conference(sponsor.conference, sponsor),
+ sponsor.level.contract.fieldjson,
+ ))
+ return resp
+
+ # Regular contract
+
+ if not (sponsor.contract and sponsor.contract.completed):
raise Http404("Contract not completed")
resp = HttpResponse(content_type='application/pdf')
send_sponsor_manager_email(
sponsor,
'Your contract for {}'.format(conference.conferencename),
- 'confsponsor/mail/sponsor_contract_manual.txt',
+ 'confsponsor/mail/{}.txt'.format('sponsor_contract_instant' if level.instantbuy else 'sponsor_contract_manual'),
{
'conference': conference,
'sponsor': sponsor,
error = None
if level.instantbuy:
+ if sponsor.level.contract:
+ # Instantbuy levels that has a contract should get an implicit contract
+ # attached to an email.
+ _generate_and_send_sponsor_contract(sponsor)
+
mailstr += "Level does not require a signed contract. Verify the details and approve\nthe sponsorship using:\n\n{0}/events/sponsor/admin/{1}/{2}/".format(
settings.SITEBASE, conference.urlname, sponsor.id)
else:
get_pdf_fields_for_conference(contract.conference, overrides={
'static:sponsor': 'PREVIEW ONLY - sponsor company name',
'static:euvat': 'PREVIEW ONLY - do not sign this contract',
+ 'static:clickthrough': 'PREVIEW ONLY - no signature',
+ 'static:clickthrougdate': 'PREVIEW ONLY',
}),
contract.fieldjson,
)
<th>Contract:</th>
<td>
{%if sponsor.level.instantbuy %}
- No contract needed, level is "instant buy". <form class="inline-block-form" method="post" action="resendcontract/">{% csrf_token %}<input type="submit" class="btn btn-sm btn-default confirm-btn" value="Re-send contract anyway" data-confirm="Are you sure you want to re-send a new contract to this sponsor?{%if sponsor.signmethod == 0%} {{conference.contractprovider.implementation.resendprompt}}{%endif%} Note that the level is instant buy, instructions may be confusing!"></form>
+ {%if sponsor.level.contract %}
+ Click-through contract completed. <form class="inline-block-form" method="post" action="resendcontract/">{% csrf_token %}<input type="submit" class="btn btn-sm btn-default confirm-btn" value="Re-send contract anyway" data-confirm="Are you sure you want to re-send a new contract to this sponsor?{%if sponsor.signmethod == 0%} {{conference.contractprovider.implementation.resendprompt}}{%endif%}"></form>
+ {%else%}
+ No contract needed for this level.
+ {%endif%}
{%else%}
{%if sponsor.signmethod == 0%}
Digital contract.<br/>
<th>Status:</th>
<td>{%if sponsor.confirmed%}Confirmed ({{sponsor.confirmedat}}){%else%}<i>Awaiting confirmation</i>{%endif%}</td>
</tr>
-{% if sponsor.confirmed %}
+{% if sponsor.confirmed and sponsor.level.contract %}
<tr>
<th>Contract:</th>
- <td>{%if sponsor.signmethod == 0%}
+ <td>
+{% if sponsor.level.instantbuy %}
+ Click-through contract agreed to. <a href="contractview/" class="btn btn-outline-dark btn-sm">View copy of contract</a>
+{% else %}
+{%if sponsor.signmethod == 0%}
Digital contract completed {{sponsor.contract.completed}}.
{%if sponsor.contract.completed and sponsor.contract.has_completed_pdf %}<a href="contractview/" class="btn btn-outline-dark btn-sm">View signed contract</a>{%endif%}
{% else %}
-Manual contract.{% endif %}
+Manual contract.
+{% endif %}
+{% endif %}
</td>
</tr>
{% endif %}