コード例 #1
0
ファイル: views.py プロジェクト: oromerob/pybearmon
def checks_edit(id=None):
    form = getFormForModelAttr(CheckForm, Checks, CheckAttribute, id,
                               'checktype_id')
    form.type.choices = CheckType().formList()
    form.contacts.choices = Contacts().formList()
    if form.validate_on_submit():
        data = dict()
        for field in form:
            if field.id[:5] == 'attr_':
                data[field.id[5:]] = field.data
        data = urllib.urlencode(data)

        check = Checks().save(id=id,
                              name=form.name.data,
                              type=form.type.data,
                              data=data,
                              public=form.public.data,
                              max_confirmations=form.max_confirmations.data)
        if check or id:
            check = id
            if type(check) == int:
                Alerts().deleteByCheck(check)
            for contact in form.contacts.data:
                Alerts().save(check_id=check, contact_id=contact)
            flash('Check saved', 'success')
            if form.submit_return.data:
                return redirect(url_for('.checks_list'))
            else:
                return redirect(url_for('.checks_edit', id=check))
    if id:
        contacts = Checks().getAlerts(id)
        form.contacts.process_data(
            [contact.contact_id for contact in contacts])
    return render_template('edit.html', form=form)
コード例 #2
0
ファイル: views.py プロジェクト: ZUNbado/pybearmon
def checks_edit(id = None):
    form = getFormForModelAttr(CheckForm, Checks, CheckAttribute, id, 'checktype_id')
    form.type.choices = CheckType().formList()
    form.contacts.choices = Contacts().formList()
    if form.validate_on_submit():
        data = dict()
        for field in form:
            if field.id[:5] == 'attr_':
                data[field.id[5:]] = field.data
        data = urllib.urlencode(data)

        check = Checks().save(id = id, name = form.name.data, type = form.type.data, data = data, public = form.public.data, max_confirmations = form.max_confirmations.data)
        if check or id:
            check = id
            if type(check) == int:
                Alerts().deleteByCheck(check)
            for contact in form.contacts.data:
                Alerts().save(check_id = check, contact_id = contact)
            flash('Check saved', 'success')
            if form.submit_return.data:
                return redirect(url_for('.checks_list'))
            else:
                return redirect(url_for('.checks_edit', id = check))
    if id:
        contacts = Checks().getAlerts(id)
        form.contacts.process_data([contact.contact_id for contact in contacts])
    return render_template('edit.html', form = form)
コード例 #3
0
ファイル: views.py プロジェクト: ZUNbado/pybearmon
def contacts_edit(id=None):
    form = getFormForModelAttr(ContactForm, Contacts, ContactAttribute, id, "contacttype_id")
    form.type.choices = ContactType().formList()
    if request.method == "POST" and form.validate_on_submit():
        data = dict()
        for field in form:
            if field.id[:5] == "attr_":
                data[field.id[5:]] = field.data
        data = urllib.urlencode(data)
        contact = Contacts().save(id=id, name=form.name.data, type=form.type.data, data=data)

        if contact:
            return redirect(url_for(".contacts_edit", id=contact))
    return render_template("edit.html", form=form)
コード例 #4
0
ファイル: views.py プロジェクト: oromerob/pybearmon
def contacts_edit(id=None):
    form = getFormForModelAttr(ContactForm, Contacts, ContactAttribute, id,
                               'contacttype_id')
    form.type.choices = ContactType().formList()
    if request.method == 'POST' and form.validate_on_submit():
        data = dict()
        for field in form:
            if field.id[:5] == 'attr_':
                data[field.id[5:]] = field.data
        data = urllib.urlencode(data)
        contact = Contacts().save(id=id,
                                  name=form.name.data,
                                  type=form.type.data,
                                  data=data)

        if contact:
            return redirect(url_for('.contacts_edit', id=contact))
    return render_template('edit.html', form=form)