Exemplo n.º 1
0
def list_actions():
    if request.form["submit"] == "delete":
        action_id = uuid.uuid4().hex
        to_delete = [k for k, v in request.form.to_dict().items() if v == "on"]
        if to_delete:
            data = {"action": "delete", "items": to_delete}
            cache.set(action_id, data, timeout=5 * 60)
            return render_template(
                "events/approve.html", action="delete {} events".format(len(to_delete)), action_id=action_id
            )
    elif request.form["submit"] == "preview":
        events_list = [k for k, v in request.form.to_dict().items() if v == "on"]
        if events_list:
            subset_id = init_digest(events_list, {})
            set_variable(subset_id, "template", "main.html")  # FIXME: hardcoded
            set_variable(subset_id, "variables", {})  # FIXME: hardcoded
            set_default_template_variables(subset_id)
            generate_preview(subset_id)
            return redirect(url_for("digestmonkey.preview_content", subset_id=subset_id))
    elif request.form["submit"] == "approve":
        data = cache.get(request.form["action_id"])
        if not data:
            return render_template("events/error.html", errors=["Expired"])
        if data["action"] == "delete":
            for item in data["items"]:
                try:
                    current_app.events_api.delete_event(g.user.team.events_token, item)
                except EventsServiceAPIError as e:
                    return render_template("events/error.html", errors=e)

    return redirect(request.url)
Exemplo n.º 2
0
def list_actions():
    if request.form['submit'] == 'delete':
        action_id = uuid.uuid4().hex
        to_delete = [k for k, v in request.form.to_dict().items() if v == 'on']
        if to_delete:
            data = {'action': 'delete', 'items': to_delete}
            cache.set(action_id, data, timeout=5*60)
            return render_template('events/approve.html', action='delete {} events'.format(len(to_delete)), action_id=action_id)
    elif request.form['submit'] == 'preview':
        events_list = [k for k, v in request.form.to_dict().items() if v == 'on']
        if events_list:
            subset_id = init_digest(events_list, {})
            set_variable(subset_id, 'template', 'main.html')  # FIXME: hardcoded
            set_variable(subset_id, 'variables', {})  # FIXME: hardcoded
            set_default_template_variables(subset_id)
            generate_preview(subset_id)
            return redirect(url_for('digestmonkey.preview_content', subset_id=subset_id))
    elif request.form['submit'] == 'approve':
        data = cache.get(request.form['action_id'])
        if not data:
            return render_template('events/error.html', errors=['Expired'])
        if data['action'] == 'delete':
            for item in data['items']:
                try:
                    current_app.events_api.delete_event(g.user.team.events_token, item)
                except EventsServiceAPIError as e:
                    return render_template('events/error.html', errors=e)

    return redirect(request.url)
Exemplo n.º 3
0
def configure_template(subset_id):
    if request.method == 'POST':
        data = cache.get(subset_id)
        variables = request.form.to_dict()
        if '_csrf_token' in variables:
            del variables['_csrf_token']
        data['variables'] = variables
        cache.set(subset_id, data, timeout=60 * 60 * 24)
        return redirect(url_for('digestmonkey.preview', subset_id=subset_id))
    variables = set_default_template_variables(subset_id)
    return render_template('digestmonkey/configure_template.html',
                           subset_id=subset_id,
                           subset=cache.get(subset_id),
                           variables=OrderedDict(sorted(variables.items())))
Exemplo n.º 4
0
def configure_template(subset_id):
    if request.method == 'POST':
        data = cache.get(subset_id)
        variables = request.form.to_dict()
        if '_csrf_token' in variables:
            del variables['_csrf_token']
        data['variables'] = variables
        cache.set(subset_id, data, timeout=60*60*24)
        return redirect(url_for('digestmonkey.preview', subset_id=subset_id))
    variables = set_default_template_variables(subset_id)
    return render_template('digestmonkey/configure_template.html',
                           subset_id=subset_id,
                           subset=cache.get(subset_id),
                           variables=OrderedDict(sorted(variables.items())))
Exemplo n.º 5
0
def list_actions():
    if request.form['submit'] == 'delete':
        action_id = uuid.uuid4().hex
        to_delete = [k for k, v in request.form.to_dict().items() if v == 'on']
        if to_delete:
            data = {'action': 'delete', 'items': to_delete}
            cache.set(action_id, data, timeout=5 * 60)
            return render_template('events/approve.html',
                                   action='delete {} events'.format(
                                       len(to_delete)),
                                   action_id=action_id)
    elif request.form['submit'] == 'preview':
        events_list = [
            k for k, v in request.form.to_dict().items() if v == 'on'
        ]
        if events_list:
            subset_id = init_digest(events_list, {})
            set_variable(subset_id, 'template',
                         'main.html')  # FIXME: hardcoded
            set_variable(subset_id, 'variables', {})  # FIXME: hardcoded
            set_default_template_variables(subset_id)
            generate_preview(subset_id)
            return redirect(
                url_for('digestmonkey.preview_content', subset_id=subset_id))
    elif request.form['submit'] == 'approve':
        data = cache.get(request.form['action_id'])
        if not data:
            return render_template('events/error.html', errors=['Expired'])
        if data['action'] == 'delete':
            for item in data['items']:
                try:
                    current_app.events_api.delete_event(
                        g.user.team.events_token, item)
                except EventsServiceAPIError as e:
                    return render_template('events/error.html', errors=e)

    return redirect(request.url)