fixed BUG-30 duplicate authors
This commit is contained in:
36
main.py
36
main.py
@@ -577,13 +577,19 @@ def new_book():
|
||||
|
||||
bals=[]
|
||||
auth_cnt=1
|
||||
processed_bal=[]
|
||||
message=""
|
||||
|
||||
if request.method == 'POST':
|
||||
# handle author info for new book
|
||||
for el in request.form:
|
||||
if 'author-' in el:
|
||||
bals.append( Book_Author_Link( author_id=request.form[el], author_num=auth_cnt ) )
|
||||
auth_cnt+=1
|
||||
if not request.form[el] in processed_bal:
|
||||
bals.append( Book_Author_Link( author_id=request.form[el], author_num=auth_cnt ) )
|
||||
processed_bal.append( request.form[el] )
|
||||
auth_cnt+=1
|
||||
else:
|
||||
message="Removed duplicate author!!!"
|
||||
|
||||
# handle genre info for new book
|
||||
for genre in genre_list:
|
||||
@@ -637,7 +643,12 @@ def new_book():
|
||||
newbsl=Book_Series_Link( book_id=book.id, series_id=s.series_id, book_num=max_bn+1 )
|
||||
db.session.add(newbsl)
|
||||
db.session.commit()
|
||||
st.SetMessage( "Created new Book ({})".format(book.title) )
|
||||
if message == None:
|
||||
st.SetMessage( "Created new Book ({})".format(book.title) )
|
||||
else:
|
||||
st.SetAlert("warning")
|
||||
st.SetMessage( f"Created new Book ({book.title})<br>BUT {message}" )
|
||||
|
||||
cnt=1
|
||||
for field in request.form:
|
||||
if 'bsl-book_id-' in field and field != 'bsl-book_id-NUM':
|
||||
@@ -723,6 +734,10 @@ def book(id):
|
||||
book_form.rating.choices=[(c.id, c.name) for c in Rating.query.order_by('id')]
|
||||
page_title='Edit Book'
|
||||
CheckSeriesChange=None
|
||||
processed_bal=[]
|
||||
alert="success"
|
||||
message=""
|
||||
|
||||
if request.method == 'POST':
|
||||
if 'delete' in request.form:
|
||||
redirect_to=DeleteBook(id)
|
||||
@@ -757,8 +772,13 @@ def book(id):
|
||||
cnt=1
|
||||
for el in request.form:
|
||||
if 'author-' in el:
|
||||
book.bals.append( Book_Author_Link( author_id=request.form[el], book_id=id, author_num=cnt ) )
|
||||
cnt += 1
|
||||
if not request.form[el] in processed_bal:
|
||||
book.bals.append( Book_Author_Link( author_id=request.form[el], book_id=id, author_num=cnt ) )
|
||||
processed_bal.append( request.form[el] )
|
||||
cnt += 1
|
||||
else:
|
||||
alert="warning"
|
||||
message="removed duplicate author!!!"
|
||||
|
||||
# go through form, if we have removed a series, then copy data out of form to be passed into html for a pop-up
|
||||
removing_series=[]
|
||||
@@ -820,7 +840,11 @@ def book(id):
|
||||
s.calcd_rating = CalcAvgRating(s.id)
|
||||
cnt=cnt+1
|
||||
db.session.commit()
|
||||
st.SetMessage( "Successfully Updated Book (id={})".format(id) )
|
||||
if message == None:
|
||||
st.SetMessage( f"Successfully Updated Book (id={id})" )
|
||||
else:
|
||||
st.SetAlert("warning")
|
||||
st.SetMessage( f"Successfully Updated Book (id={id})<br>BUT {message}" )
|
||||
else:
|
||||
st.SetAlert("danger")
|
||||
message=f"Failed to update Book (id={id}). "
|
||||
|
||||
Reference in New Issue
Block a user