Exemple #1
0
def call_hook(event_name, instance):
    for hook in Hook.objects.filter(event=event_name):
        logger.debug("Hook called: making {} request to {}".format(hook.method, hook.url))
        if hook.method == 'POST':
            data = Template(hook.body).render(Context({'object': instance}))
            requests.post(hook.url, data.encode('utf-8'))
        else:
            requests.request(hook.method, hook.url)
Exemple #2
0
def call_hook(event_name, instance):
    for hook in Hook.objects.filter(event=event_name):
        logger.debug("Hook called: making {} request to {}".format(
            hook.method, hook.url))
        if hook.method == 'POST':
            data = Template(hook.body).render(Context({'object': instance}))
            requests.post(hook.url, data.encode('utf-8'))
        else:
            requests.request(hook.method, hook.url)
Exemple #3
0
    def write_on_disk(self):
        """
        Write the templates on disk
        :return: True if everything went right, False otherwise
        """
        tpl_list = ('html_login', 'html_logout', 'html_otp', 'html_message',
                    'html_learning', 'html_self', 'html_password',
                    'html_registration', 'email_subject', 'email_body',
                    'html_error', 'email_register_subject',
                    'email_register_body')
        for tpl in tpl_list:
            if tpl == 'html_error':
                continue

            try:
                with open(
                        "/usr/local/etc/haproxy.d/templates/portal_%s_%s.conf"
                        % (str(self.id), tpl), 'w') as f:
                    html = getattr(self, tpl)
                    if tpl not in [
                            "email_subject", "email_body",
                            "email_register_subject", "email_register_body"
                    ]:
                        html = html.replace("{{form_begin}}",
                                            "{{form_begin}}{% csrf_token %}")
                        html = "{% autoescape off %}\n" + html + "\n" + "{% endautoescape %}"

                    f.write(html.encode("UTF-8"))
            except Exception as e:
                pass

        try:
            with open(
                    "/home/vlt-gui/vulture/portal/templates/portal_%s.css" %
                (str(self.id)), 'w') as f:
                f.write(self.css.encode("UTF-8"))
        except Exception as e:
            pass

        for message in ('html_error_403', 'html_error_404', 'html_error_405',
                        'html_error_406', 'html_error_500', 'html_error_501',
                        'html_error_502', 'html_error_503', 'html_error_504'):
            tpl = Template(self.html_error)
            tpl = tpl.render(
                Context({
                    'message': getattr(self, message),
                    'style': self.css
                }))
            with open(
                    "/home/vlt-gui/vulture/portal/templates/portal_{}_{}.html".
                    format(str(self.id), message), 'w') as f:
                f.write(tpl.encode('UTF-8'))
Exemple #4
0
def jsView(request, **kwargs):
    
    main = kwargs['main']
    path = settings.PJ_PATH
    closureMode = getattr(settings, 'PJ_CLOJURE_MODE', None) or request.GET.get('mode')
    
    js = pj.api.buildBundle(main, path=path)['js']
    
    if kwargs.get('jsPrefix', None):
      js = kwargs['jsPrefix'] + '\n\n' + js
    
    if kwargs.get('renderTemplate', True):
      js = Template(js).render(Context({
        'DEBUG': settings.DEBUG,
      }))
    
    if closureMode:
        js = pj.api.closureCompile(js, closureMode)
    
    return HttpResponse(
                    js.encode('utf-8'),
                    mimetype='text/javascript; charset=utf-8')