예제 #1
0
def getTemplate(template_id=None):
    t = ControlTemplate()
    res = t.get_by_id(template_id)
    if res != "null":
        return res
    else:
        abort(404)
예제 #2
0
def publishTemplate():
    template_id = request.form["template_id"]
    key = request.form["login_key"]
    user = utils.get_user_name(key)
    template = ControlTemplate.get_by_id(template_id)
    owner = template["owner"]
    if owner == user:
        r = ControlTemplate.publish_default(template_id)
        if r:
            res = {"result": "ok"}
        else:
            res = {"error": "Publishing failed"}
    else:
        res = {"error": "Only the owner can publish"}
    return jsonify(res)
예제 #3
0
def newTemplate():
    name = request.form["template_name"]
    desc = request.form["template_description"]
    key = request.form["login_key"]
    thumb = request.form["thumbnail"]
    user = utils.get_user_name(key)
    # check if that template exists
    filter = {"n": name, "u": user}
    current_app.logger.info(filter)
    template = ControlTemplate.get_object(filter, {"_id": 1})
    if template is None:
        res = ControlTemplate.insert(name, desc, user, thumb)
    else:
        res = str(template.get("_id", ""))
    return jsonify({"result": res})
예제 #4
0
def add_controls():
    template = request.form["template"]
    controls = request.form["controls"]
    key = request.form["login_key"]
    user = utils.get_user_name(key)
    res = "Something went wrong"
    current_app.logger.info("template: " + utils.cleanup(template))
    current_app.logger.info("controls" + str(controls))
    # if utils.is_valid_id(template):
    res = ControlTemplate.add_controls(utils.cleanup(template), controls, user)
    # else:
    #     jsonify(Message.get('id_not_valid'))
    return jsonify({"result": res})
예제 #5
0
    def insert(self, user, name, slug, desc, template_id, image,
               read_access, write_access):
        if is_valid_id(template_id):
            template = ControlTemplate.get_object(
                {'_id': ObjectId(template_id)})
            items = template['i']
            fields = []
            for item in items:
                fields.append(item['s'])
            now = datetime.utcnow()
            acl = dict()
            acl['read'] = read_access
            acl['write'] = write_access
            num = int(NUM_CHARS)
            url_id = "".join(sample(digits + ascii_letters, num))
            doc = {"n": name, "s": slug, "d": desc, "u": user, "c": now,
                   "t": template, "img": image, 'a': acl, 'f': fields,
                   'at': slug, 'st': {'v': 0}, 'si': url_id}

            newId = objects.insert(doc)
            return str(newId)
예제 #6
0
def getTemplates(filters, fields, page, num):
    return json.dumps(ControlTemplate.get_templates_flat(filters, fields))
예제 #7
0
def get_all_templates(login_key=None):
    user = utils.get_user_name(login_key)
    templates = ControlTemplate.get_templates_by_user(user)
    return jsonify({"result": templates})