general: push a summary url to wcs
This commit is contained in:
parent
ae42e903db
commit
e97facafb5
|
@ -16,6 +16,7 @@
|
|||
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.contrib.contenttypes import generic
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import models
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
|
@ -32,14 +33,14 @@ class Association(models.Model):
|
|||
formdef_reference = models.CharField(max_length=250, null=True)
|
||||
formdata_id = models.CharField(max_length=250, null=True)
|
||||
|
||||
def push(self, request, context=None):
|
||||
def push(self, request):
|
||||
# push validated request to wcs
|
||||
if context:
|
||||
context = context.copy()
|
||||
else:
|
||||
context = {}
|
||||
context = {}
|
||||
context['user_id'] = self.source.contact_id
|
||||
|
||||
context['channel'] = self.source._meta.app_label
|
||||
context['summary_url'] = request.build_absolute_uri(
|
||||
reverse('wcs-summary', kwargs={'source_type': self.source_type_id,
|
||||
'source_pk': self.source_pk}))
|
||||
self.formdata_id = push_wcs_formdata(request, self.formdef_reference, context)
|
||||
self.save()
|
||||
|
||||
|
|
|
@ -57,13 +57,6 @@ class Mail(models.Model):
|
|||
def get_qualification_form_submit_url(cls):
|
||||
return reverse('qualif-mail-save')
|
||||
|
||||
def get_source_context(self, request):
|
||||
return {
|
||||
'channel': 'mail',
|
||||
'mail_url': request.build_absolute_uri(self.content.url),
|
||||
'thumbnail_url': request.build_absolute_uri(self.content.url) + '.png',
|
||||
}
|
||||
|
||||
|
||||
@receiver(post_save, sender=Mail)
|
||||
def create_thumbnail(sender, instance, created, **kwargs):
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
<p class="thumbnail"><img src="{{ site_base }}{{ object.content.url }}.png" alt=""/></p>
|
|
@ -44,6 +44,9 @@ urlpatterns = patterns('',
|
|||
url(r'^ajax/contacts/(?P<slug>[\w-]+)/$',
|
||||
'welco.contacts.views.contact_detail_fragment', name='contact-page-fragment'),
|
||||
|
||||
url(r'^ajax/summary/(?P<source_type>\w+)/(?P<source_pk>\w+)/$',
|
||||
'welco.views.wcs_summary', name='wcs-summary'),
|
||||
|
||||
url(r'^admin/', include(admin.site.urls)),
|
||||
url(r'^logout/$', 'welco.views.logout', name='auth_logout'),
|
||||
url(r'^login/$', 'welco.views.login', name='auth_login'),
|
||||
|
|
|
@ -132,3 +132,20 @@ def qualification_done(request):
|
|||
response = HttpResponse(content_type='application/json')
|
||||
json.dump({'result': 'ok'}, response, indent=2)
|
||||
return response
|
||||
|
||||
|
||||
@login_required
|
||||
def wcs_summary(request, *args, **kwargs):
|
||||
source_class = ContentType.objects.get(id=kwargs.get('source_type')).model_class()
|
||||
source_object = source_class.objects.get(id=kwargs.get('source_pk'))
|
||||
tmpl_name = 'welco/%s_summary.html' % source_class._meta.app_label
|
||||
tmpl = template.loader.get_template(tmpl_name)
|
||||
context = RequestContext(request)
|
||||
context['site_base'] = request.build_absolute_uri('/')[:-1]
|
||||
context['object'] = source_object
|
||||
json_str = json.dumps({'content': tmpl.render(context)})
|
||||
for variable in ('jsonpCallback', 'callback'):
|
||||
if variable in request.GET:
|
||||
json_str = '%s(%s);' % (request.GET[variable], json_str)
|
||||
break
|
||||
return HttpResponse(json_str, content_type='application/javascript')
|
||||
|
|
Loading…
Reference in New Issue