updated with covers and authors
parent
9461301d21
commit
7e1c504e09
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,8 +1,21 @@
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import StringField, FileField
|
||||
from wtforms.validators import InputRequired
|
||||
from wtforms.validators import InputRequired, DataRequired
|
||||
from wtforms import FieldList
|
||||
from wtforms import Form as NoCsrfForm
|
||||
from wtforms.fields import StringField, FormField, SubmitField
|
||||
from app.models import Book, BookSchema, Author
|
||||
|
||||
# - - - Forms - - -
|
||||
class AuthorForm(NoCsrfForm):
|
||||
# this forms is never exposed so we can user the non CSRF version
|
||||
author_name = StringField('Author Name', validators=[DataRequired()])
|
||||
|
||||
class UserForm(FlaskForm):
|
||||
title = StringField('title', validators=[InputRequired()])
|
||||
author = StringField('author', validators=[InputRequired()])
|
||||
author = FieldList(FormField(AuthorForm, default=lambda: Author()), min_entries=1)
|
||||
file = FileField()
|
||||
|
||||
class UserForm_Edit(FlaskForm):
|
||||
title = StringField('title', validators=[InputRequired()])
|
||||
author = FieldList(FormField(AuthorForm, default=lambda: Author()), min_entries=1)
|
||||
|
@ -1 +1,32 @@
|
||||
/* Add your Application JavaScript */
|
||||
$(function() {
|
||||
$("div[data-toggle=fieldset]").each(function() {
|
||||
var $this = $(this);
|
||||
|
||||
//Add new entry
|
||||
$this.find("button[data-toggle=fieldset-add-row]").click(function() {
|
||||
var target = $($(this).data("target"))
|
||||
console.log(target);
|
||||
var oldrow = target.find("[data-toggle=fieldset-entry]:last");
|
||||
var row = oldrow.clone(true, true);
|
||||
console.log(row.find(":input")[0]);
|
||||
var elem_id = row.find(":input")[0].id;
|
||||
var elem_num = parseInt(elem_id.replace(/.*-(\d{1,4})-.*/m, '$1')) + 1;
|
||||
row.attr('data-id', elem_num);
|
||||
row.find(":input").each(function() {
|
||||
console.log(this);
|
||||
var id = $(this).attr('id').replace('-' + (elem_num - 1) + '-', '-' + (elem_num) + '-');
|
||||
$(this).attr('name', id).attr('id', id).val('').removeAttr("checked");
|
||||
});
|
||||
oldrow.after(row);
|
||||
}); //End add new entry
|
||||
|
||||
//Remove row
|
||||
$this.find("button[data-toggle=fieldset-remove-row]").click(function() {
|
||||
if($this.find("[data-toggle=fieldset-entry]").length > 1) {
|
||||
var thisRow = $(this).closest("[data-toggle=fieldset-entry]");
|
||||
thisRow.remove();
|
||||
}
|
||||
}); //End remove row
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue