Browse Source

tried to add edit

ansible-setup-and-deploy
Alice 6 years ago
parent
commit
9a2bc3892f
  1. 7
      app/forms.py
  2. 22
      app/templates/edit_stack_detail.html
  3. 11
      app/templates/results.html
  4. 9
      app/templates/show_books.html
  5. 2
      app/templates/show_stack_detail.html
  6. 7
      app/templates/show_stack_detail_tab.html
  7. 6
      app/templates/show_stacks.html
  8. 14
      app/views.py
  9. 2
      import_csv.py

7
app/forms.py

@ -25,6 +25,7 @@ class EditForm(FlaskForm):
author = FieldList(FormField(AuthorForm, default=lambda: Author()), min_entries=1)
category = StringField('category', validators=[InputRequired()])
year_published = StringField('year published', [validators.Length(max=4)],default=None)
class ChatForm(FlaskForm):
message = StringField('message', validators=[InputRequired()])
send = SubmitField(label='Send')
@ -36,7 +37,11 @@ class StackForm(FlaskForm):
class AddtoStackForm(FlaskForm):
select_stack = SelectField('Stacks', validators=[InputRequired()])
class EditStackForm(FlaskForm):
edit_stack_name = SelectField('Stack', validators=[InputRequired()])
edit_stack_description = SelectField('Description', validators=[InputRequired()])
class SearchForm(FlaskForm):
choices = [('All', 'All'),
('Title', 'Title'),

22
app/templates/edit_stack_detail.html

@ -0,0 +1,22 @@
{% extends 'base.html' %}
{% block main %}
<div class="container">
{% from "_formhelpers.html" import render_field %}
<form method="POST" action="{{ url_for('edit_stack_by_id', id=stack.id )}}">
{{ form.csrf_token }}
<br> <br>
<table>
<tr>
{{ render_field(form.edit_stack_name)}}
{{ render_field(form.edit_stack_description)}}
</tr>
<br>
<button type="submit" class="btn btn-primary">Update</button>
</form>
</div>
{% endblock %}

11
app/templates/results.html

@ -33,6 +33,8 @@
<th>Filetype</th>
<th>Category</th>
<th>Stack</th>
<th>Add to stack</th>
</tr>
{% for book in books %}
<tr>
@ -51,6 +53,10 @@
<li><a href="{{url_for('show_stack_by_id', id=stack.id)}}">{{ stack.stack_name }}</a> </li>
{% endfor %}
</td>
<td id='plus'><a href='{{url_for('add_to_stack', id=book.id)}}'>
==>
</a></td>
{% endfor %}
</table>
@ -68,6 +74,8 @@
<th>Filetype</th>
<th>Category</th>
<th>Stack</th>
<th>Add to stack</th>
</tr>
{% for book in books_all %}
<tr>
@ -86,6 +94,9 @@
<li><a href="{{url_for('show_stack_by_id', id=stack.id)}}">{{ stack.stack_name }}</a> </li>
{% endfor %}
</td>
<td id='plus'><a href='{{url_for('add_to_stack', id=book.id)}}'>
==>
</a></td>
{% endfor %}
</table>
<p>

9
app/templates/show_books.html

@ -62,15 +62,8 @@
</td>
<td id='plus'><a href='{{url_for('add_to_stack', id=book.id)}}'>
\│/<br>
─ ─ <br>
/│\<br>
==>
</a></td>
</tr>
{% endfor %}

2
app/templates/show_stack_detail.html

@ -18,6 +18,8 @@
<br>
<p>
<a href="{{ url_for('remove_stack_by_id', id=stack.id )}}">Delete</a> </p>
<a href="{{ url_for('edit_stack_by_id', id=stack.id )}}">Edit</a> </p>
<p><a href="{{url_for('show_stacks')}}">Go back to stacks</p>

7
app/templates/show_stack_detail_tab.html

@ -1,7 +1,12 @@
{% block main %}
<div class="container">
<h1 class="header">{{ stack.stack_name }}</h1>
<h1 class="header">
<a href="{{url_for('show_stack_by_id', id=stack.id)}}">
{{ stack.stack_name }} </a>
</h1>
<p>Stack description: {{ stack.stack_description }} </p>

6
app/templates/show_stacks.html

@ -11,7 +11,11 @@
<ul>
{% for stack in stacks %}
<li> <a href="stacks/tab/{{ stack.id }}">{{ stack.stack_name }}</a></td>
<li> <a href="stacks/tab/{{ stack.id }}">
{{ stack.stack_name }}
</a></td>

14
app/views.py

@ -9,7 +9,7 @@ from app import app, db, socketio, DOMAIN
from flask import Flask, Response, render_template, request, redirect, url_for, flash, send_from_directory, jsonify, abort
import json
from sqlalchemy.sql.expression import func, select
from app.forms import UploadForm, EditForm, SearchForm, ChatForm, StackForm, AddtoStackForm
from app.forms import UploadForm, EditForm, SearchForm, ChatForm, StackForm, AddtoStackForm, EditStackForm
from app.models import Book, BookSchema, Author, AuthorSchema, Stack, StackSchema, UserIns, Chat, ChatSchema
from app.cover import get_cover
from os import environ
@ -303,6 +303,18 @@ def remove_stack_by_id(id):
db.session.commit()
return redirect(url_for('show_stacks'))
@app.route('/stacks/<int:id>/edit', methods=['POST', 'GET'])
def edit_stack_by_id(id):
stack = Stack.query.filter_by(id=id).first()
form = EditStackForm()
if request.method == 'POST':
if edit_stack_form.validate_on_submit():
stack_name = form.stack_name.data
stack_description = form.stack_description.data
db.session.commit()
return redirect(url_for('show_stack_by_id', id=id))
return render_template('edit_stack_detail.html', stack=stack, form=form)
## search
## search

2
import_csv.py

@ -39,7 +39,7 @@ with open(args.csv) as f:
if stack:
b = db.session.query(Stack).filter_by(stack_name=stack).first()
if b == None:
b = Stack(stack_name=stack, stack_description="test")
b = Stack(stack_name=stack, stack_description=stack_description)
db.session.add(b)
book.stacks.append(b)

Loading…
Cancel
Save