示例#1
0
def remove_link_from_draft(id, link):
    draft = Draft.query.filter_by(user_id=current_user.id).first() or Draft(user_id=current_user.id)
    return save_form_obj(
        db, DeleteDraftLinkForm, draft,
        build_next=lambda form, draft: request.referrer,
        before_populate=lambda form: setattr(form, 'link_id', id),
        before_redirect=lambda form: flash(u'Removed from draft', 'danger'),
    )
示例#2
0
def add_trial():
    trial_email = TrialEmail()
    return save_form_obj(
        db, TrialEmailForm, trial_email,
        build_next=lambda form, trial_email: url_for('trial.add_trial'),
        before_render_map=['obj->trial_email'],
        before_redirect=lambda form: flash(
            'Your email has been added to list! Please wait for our invitation email.', 'success'
        ),
    )
示例#3
0
def update_link(id, link):
    def before_render(data):
        data['delete_draft'] = DeleteDraftLinkForm()
        return data
    return save_form_obj(
        db, LinkForm, link,
        build_next=lambda form, link: url_for('dashboard.get_link', id=link.id),
        before_render_map=['obj->link'],
        before_render=before_render,
    )
示例#4
0
def add_link_to_draft(id, link):
    draft = Draft.query.filter_by(user_id=current_user.id).first() or Draft(user_id=current_user.id)
    def append_to_draft(form):
        draft = Draft.query.filter_by(user_id=current_user.id).first()
        if id not in draft.link_ids:
            draft.link_ids.append(id)
        db.session.add(draft)
        db.session.commit()
    return save_form_obj(
        db, DraftForm, draft,
        build_next=lambda form, draft: request.referrer,
        before_populate=lambda form: setattr(form, 'link_id', id),
        before_redirect=lambda form: flash(u'Added to draft.', 'success'),
        on_integrity_error=append_to_draft,
    )
示例#5
0
def add_draft():
    link = Link(
        user_id=current_user.id,
        summary=get_default_link_summary(),
        url=get_default_url(),
        title=get_default_title(),
    )
    def before_render(data):
        data['delete_draft'] = DeleteDraftLinkForm()
        data['draft_links'] = _get_draft_links()
        return data
    return save_form_obj(
        db, LinkForm, link,
        build_next=lambda form, link: url_for('dashboard.get_link', id=link.id),
        before_render=before_render,
    )
示例#6
0
def add_link():
    link = Link(user_id=current_user.id)
    return save_form_obj(
        db, LinkForm, link,
        build_next=lambda form, link: url_for('dashboard.get_link', id=link.id),
    )