Shot creation and editing

This commit is contained in:
Francesco Siddi 2014-04-20 22:55:36 +02:00
parent e42fb2ebc0
commit 08f95dcb99
4 changed files with 140 additions and 50 deletions

View File

@ -34,6 +34,7 @@ def index():
shots.append(dict(
id=shot.id,
name=shot.name,
description=shot.description,
status=status))
return render_template('shots/index.html',
title='shots',
@ -50,13 +51,48 @@ def view(shot_id):
else:
abort(404)
"""
class ShotForm(Form):
name = TextField('Blender-ID')
description = TextField('First Name', validators=[DataRequired()])
parent_id = IntegerFiled('Last Name', validators=[DataRequired()])
cloud_communications = BooleanField('Cloud Communications')
"""
@shots.route("/create")
name = TextField('Shot Name', validators=[DataRequired()])
description = TextField('Description', validators=[DataRequired()])
@shots.route("/create", methods=('GET', 'POST'))
def create():
return 'create here'
form = ShotForm()
if form.validate_on_submit():
shot_type = NodeType.query.filter_by(name='shot').first()
shot = Node(
name=form.name.data,
description=form.description.data,
node_type_id=shot_type.id)
db.session.add(shot)
db.session.commit()
return redirect('/')
return render_template('shots/create.html', form=form)
@shots.route("/edit/<int:shot_id>", methods=('GET', 'POST'))
def edit(shot_id):
shot = Node.query.get(shot_id)
form = ShotForm(
name=shot.name,
description=shot.description)
if form.validate_on_submit():
shot.name = form.name.data
shot.description=form.description.data
db.session.commit()
return redirect('/')
return render_template(
'shots/edit.html',
form=form,
shot_id=shot_id)
@shots.route("/delete/<int:shot_id>")
def delete(shot_id):
shot = Node.query.get(shot_id)
if shot:
db.session.delete(shot)
return redirect('/')
else:
abort(404)

View File

@ -0,0 +1,23 @@
{% extends 'layout.html' %}
{% block body %}
<div class="col-md-9">
<h2>Create shot</h2>
<div class="row">
<div class="col-md-6">
<form method="POST" action="{{url_for('shots.create')}}">
{{ form.hidden_tag() }}
<div class="form-group">
{{ form.name.label }}
{{ form.name(size=20, class='form-control') }}
</div>
<div class="form-group">
{{ form.description.label }}
{{ form.description(size=20, class='form-control') }}
</div>
<input class="btn btn-default" type="submit" value="Create Shot">
</form>
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,23 @@
{% extends 'layout.html' %}
{% block body %}
<div class="col-md-9">
<h2>Edit shot</h2>
<div class="row">
<div class="col-md-6">
<form method="POST" action="{{url_for('shots.edit', shot_id=shot_id)}}">
{{ form.hidden_tag() }}
<div class="form-group">
{{ form.name.label }}
{{ form.name(size=20, class='form-control') }}
</div>
<div class="form-group">
{{ form.description.label }}
{{ form.description(size=20, class='form-control') }}
</div>
<input class="btn btn-default" type="submit" value="Edit Shot">
</form>
</div>
</div>
</div>
{% endblock %}

View File

@ -2,46 +2,54 @@
{% block body %}
<div class="col-md-9">
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped" id="shots">
<thead>
<tr>
<th>Shot Name</th>
<th>Description</th>
<th>Duration</th>
<th>Status</th>
<th>Tasks</th>
<th>Notes</th>
<th width="8%"></th>
</tr>
</thead>
<tbody>
{% for shot in shots %}
<tr id="row_{{shot['id']}}">
<td><a href="{{url_for('shots.view', shot_id=shot['id'])}}">{{shot['name']}}</a></td>
<td>{{shot['description']}}</td>
<td></td>
<td><span class="label label-default" style="background-color:<?php echo $shot['status_color'] ?>">{{shot['status']}}</span></td>
<td></td>
<td></td>
<td>
<a class="btn btn-default btn-xs" href="/shots/edit/<?php echo $shot['shot_id'] ?>"><i class="glyphicon glyphicon-edit"></i> Edit</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<th>Shot Name</th>
<th>Description</th>
<th>Duration</th>
<th>Status</th>
<th>Tasks</th>
<th>Notes</th>
<th></th>
</tr>
</tfoot>
</table>
<div class="row">
<div class="col-md-12">
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped" id="shots">
<thead>
<tr>
<th>Shot Name</th>
<th>Description</th>
<th>Duration</th>
<th>Status</th>
<th>Tasks</th>
<th>Notes</th>
<th width="8%"></th>
</tr>
</thead>
<tbody>
{% for shot in shots %}
<tr id="row_{{shot['id']}}">
<td><a href="{{url_for('shots.view', shot_id=shot['id'])}}">{{shot['name']}}</a></td>
<td>{{shot['description']}}</td>
<td></td>
<td><span class="label label-default" style="background-color:<?php echo $shot['status_color'] ?>">{{shot['status']}}</span></td>
<td></td>
<td></td>
<td>
<a class="btn btn-default btn-xs" href="{{url_for('shots.edit', shot_id=shot['id'])}}"><i class="glyphicon glyphicon-edit"></i> Edit</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot>
<tr>
<th>Shot Name</th>
<th>Description</th>
<th>Duration</th>
<th>Status</th>
<th>Tasks</th>
<th>Notes</th>
<th></th>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="row">
<div class="col-md-12">
<a href="{{url_for('shots.create')}}" class="btn btn-default">Create</a>
</div>
</div>
</div>
{% endblock %}
{% endblock %}