def add_page(): form = AddPageForm() for field in form: print(f"{field.name}: {field.data}") form.parent_id.choices = [(0, '---')] + [(p.id, f"{p.title} ({p.path})") for p in Page.query.all()] form.user_id.choices = [(u.id, u.username) for u in User.query.all()] form.notify_group.choices = [ ('', ''), ('all', 'All') ] + current_app.config['SUBSCRIPTION_GROUPS'] + [ ('discord', 'Discord Only') ] if form.validate_on_submit(): parentid = form.parent_id.data if form.parent_id.data else None page = Page( title=form.title.data, slug=form.slug.data, template=form.template.data, parent_id=parentid, cover=form.cover.data, banner=form.banner.data, body=form.body.data, notes=form.notes.data, summary=form.summary.data, author_note=form.author_note.data, author_note_location=form.author_note_location.data, sidebar=form.sidebar.data, tags=form.tags.data, user_id=current_user.id, notify_group=form.notify_group.data, published=form.published.data, ) pdate = form.pub_date.data ptime = form.pub_time.data local_tz = form.timezone.data if form.timezone.data else current_user.timezone if pdate and ptime: page.set_local_pub_date(f"{pdate} {ptime}", local_tz) page.set_path() db.session.add(page) db.session.commit() if form.notify_subs.data: page.notify_subscribers(form.notify_group.data) flash("Page added successfully.", "success") log_new(page, 'added a page') Page.set_nav() return redirect(url_for('admin.edit_page', id=page.id)) if form.errors: flash("<b>Error!</b> Please fix the errors below.", "danger") return render_template('admin/page-edit.html', form=form, tab='pages', action='Add', page=Page.query.filter_by(slug='admin').first())
def install(): objects = [] objects += [User.query.filter_by(username='******').first()] objects += [Page.query.filter_by(slug='home').first()] objects += [Page.query.filter_by(slug='admin').first()] objects += [Page.query.filter_by(slug='search').first()] objects += [Page.query.filter_by(slug='shop').first()] objects += [Page.query.filter_by(slug='subscriber-welcome').first()] objects += [Page.query.filter_by(slug='purchase-thank-you').first()] if any(objects): return print( 'Flask writer was previously installed. Command not run. Create a new database and run \'flask db upgrade\' to run this command.' ) user = User(username='******') user.set_password('password') db.session.add(user) db.session.commit() home_page = Page(title='Home', slug='home', template='page', published=True, user_id=user.id) home_page.set_path() db.session.add(home_page) admin_page = Page(title='Admin', slug='admin', template='page', published=False, user_id=user.id) admin_page.set_path() db.session.add(admin_page) search_page = Page(title='Search', slug='search', template='page', user_id=user.id, published=False) search_page.set_path() db.session.add(search_page) shop_page = Page(title='Shop', slug='shop', template='page', user_id=user.id, published=False) shop_page.set_path() db.session.add(shop_page) error_page = Page(title='404 Error', slug='404-error', template='page', user_id=user.id, published=False) error_page.set_path() db.session.add(error_page) sub_email = Page(title='Subscription Confirmation', slug='subscriber-welcome', template='page', user_id=user.id, published=False) sub_email.set_path() db.session.add(sub_email) product_email = Page(title='eBook Delivery', slug='purchase-thank-you', template='page', user_id=user.id, published=False) product_email.set_path() db.session.add(product_email) db.session.commit() return print('Insttalled!')