def _create_custom_template(self, org_id=None, mode=None, course_key=None):
     """
     Creates a custom certificate template entry in DB.
     """
     template_html = """
         <%namespace name='static' file='static_content.html'/>
         <html>
         <body>
             lang: ${LANGUAGE_CODE}
             course name: ${accomplishment_copy_course_name}
             mode: ${course_mode}
             ${accomplishment_copy_course_description}
             ${twitter_url}
             <img class="custom-logo" src="${static.certificate_asset_url('custom-logo')}" />
         </body>
         </html>
     """
     template = CertificateTemplate(
         name='custom template',
         template=template_html,
         organization_id=org_id,
         course_key=course_key,
         mode=mode,
         is_active=True
     )
     template.save()
 def _create_custom_template(self, org_id=None, mode=None, course_key=None):
     """
     Creates a custom certificate template entry in DB.
     """
     template_html = """
         <html>
         <body>
             lang: ${LANGUAGE_CODE}
             course name: ${accomplishment_copy_course_name}
             mode: ${course_mode}
             ${accomplishment_copy_course_description}
         </body>
         </html>
     """
     template = CertificateTemplate(
         name='custom template',
         template=template_html,
         organization_id=org_id,
         course_key=course_key,
         mode=mode,
         is_active=True
     )
     template.save()
Example #3
0
 def _create_custom_template(self, org_id=None, mode=None, course_key=None):
     """
     Creates a custom certificate template entry in DB.
     """
     template_html = """
         <%namespace name='static' file='static_content.html'/>
         <html>
         <body>
             lang: ${LANGUAGE_CODE}
             course name: ${accomplishment_copy_course_name}
             mode: ${course_mode}
             ${accomplishment_copy_course_description}
             ${twitter_url}
             <img class="custom-logo" src="${static.certificate_asset_url('custom-logo')}" />
         </body>
         </html>
     """
     template = CertificateTemplate(name='custom template',
                                    template=template_html,
                                    organization_id=org_id,
                                    course_key=course_key,
                                    mode=mode,
                                    is_active=True)
     template.save()
 def _create_custom_template(self, org_id=None, mode=None, course_key=None):
     """
     Creates a custom certificate template entry in DB.
     """
     template_html = """
         <html>
         <body>
             lang: ${LANGUAGE_CODE}
             course name: ${accomplishment_copy_course_name}
             mode: ${course_mode}
             ${accomplishment_copy_course_description}
             ${twitter_url}
         </body>
         </html>
     """
     template = CertificateTemplate(
         name='custom template',
         template=template_html,
         organization_id=org_id,
         course_key=course_key,
         mode=mode,
         is_active=True
     )
     template.save()
Example #5
0
File: views.py Project: xnx99/enjaz
def update_image(request, pk):
    if not utils.can_approve_certificates(request.user):
        raise PermissionDenied

    certificate_request = get_object_or_404(CertificateRequest, pk=pk)

    instance = certificate_request.get_template()

    if 'image' in request.FILES:
        template_bytes = request.FILES['image'].read()
    else:
        template_bytes = instance.image.read()

    if instance:
        existing_positions = instance.text_positions.all()
    else:
        existing_positions = TextPosition.objects.none()

    position_formset = PositionFormset(request.POST, instance=instance)
    if position_formset.is_valid():
        # Formsets only return changed objects.
        changed_positions = position_formset.save(commit=False)
        previous_pks = [
            position.pk for position in changed_positions if position.pk
        ]
        existing_positions = existing_positions.exclude(pk__in=previous_pks)
        positions = changed_positions + list(existing_positions)
    else:
        raise Exception(u"خطأ في تحديد مواضع النصوص")

    example_text = request.POST.get('example_text', TEXT_PLACE_HOLDER)
    image_format = request.POST.get('image_format', 'PNG')
    template = CertificateTemplate(image_format=image_format)
    texts = [example_text] * len(positions)
    file_path, img_url = utils.generate_certificate_image(
        certificate_request.pk,
        template=template,
        template_bytes=template_bytes,
        positions=positions,
        texts=texts)
    return {'img_url': img_url}
Example #6
0
File: views.py Project: xnx99/enjaz
def approve_request(request, pk):
    if not utils.can_approve_certificates(request.user):
        raise PermissionDenied

    certificate_request = get_object_or_404(CertificateRequest, pk=pk)
    context = {'certificate_request': certificate_request}

    instance = certificate_request.get_template()
    if instance:
        texts = [TEXT_PLACE_HOLDER] * instance.text_positions.count()
        file_path, relative_url = utils.generate_certificate_image(
            pk, template=instance, texts=texts)
        context['tmp_image'] = relative_url
    else:
        instance = CertificateTemplate(certificate_request=certificate_request)

    if request.method == 'POST':
        template_form = CertificateTemplateForm(request.POST,
                                                request.FILES,
                                                instance=instance)
        formset = PositionFormset(request.POST, instance=instance)
        if template_form.is_valid() and formset.is_valid():
            template = template_form.save()
            formset.instance = template
            formset.save()
            return HttpResponseRedirect(
                reverse('certificates:approve_certificate_request',
                        args=(pk, )))
    elif request.method == 'GET':
        template_form = CertificateTemplateForm(instance=instance)
        formset = PositionFormset(instance=instance)

    context['template_form'] = template_form
    context['formset'] = formset

    return render(request, 'certificates/approve_request.html', context)