Consumables can now be linked to the tankerkoenig api
This commit is contained in:
parent
e9bb7986f4
commit
d55fd3d9f6
|
@ -61,9 +61,21 @@ def user_registered_sighandler(application, user, confirm_token):
|
||||||
tools.db_log_add(new_vehicle)
|
tools.db_log_add(new_vehicle)
|
||||||
|
|
||||||
|
|
||||||
|
def assure_consumable(name, ext_id, unit):
|
||||||
|
if not Consumable.query.filter(Consumable.ext_id == ext_id).first():
|
||||||
|
c = Consumable(name, ext_id, unit)
|
||||||
|
db.session.add(c)
|
||||||
|
|
||||||
|
|
||||||
@app.before_first_request
|
@app.before_first_request
|
||||||
def before_first_request():
|
def before_first_request():
|
||||||
db.create_all()
|
db.create_all()
|
||||||
|
|
||||||
|
# make sure all consumables from tankerkoenig exist: diesel, e5, e10
|
||||||
|
assure_consumable('Diesel', 'diesel', 'L')
|
||||||
|
assure_consumable('Super','e5', 'L')
|
||||||
|
assure_consumable('Super E10','e10', 'L')
|
||||||
|
|
||||||
user_datastore.find_or_create_role(name='admin', description='Role for administrators')
|
user_datastore.find_or_create_role(name='admin', description='Role for administrators')
|
||||||
user_datastore.find_or_create_role(name='user', description='Role for all users.')
|
user_datastore.find_or_create_role(name='user', description='Role for all users.')
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
|
@ -142,6 +142,7 @@ class Consumable(db.Model):
|
||||||
"""
|
"""
|
||||||
id = db.Column(db.Integer, primary_key=True)
|
id = db.Column(db.Integer, primary_key=True)
|
||||||
name = db.Column(db.String(255), unique=True)
|
name = db.Column(db.String(255), unique=True)
|
||||||
|
ext_id = db.Column(db.String(255))
|
||||||
unit = db.Column(db.String(255))
|
unit = db.Column(db.String(255))
|
||||||
|
|
||||||
vehicles = db.relationship(
|
vehicles = db.relationship(
|
||||||
|
@ -149,8 +150,9 @@ class Consumable(db.Model):
|
||||||
secondary=vehicles_consumables
|
secondary=vehicles_consumables
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, name, unit):
|
def __init__(self, name, ext_id, unit):
|
||||||
self.name = name
|
self.name = name
|
||||||
|
self.ext_id = ext_id
|
||||||
self.unit = unit
|
self.unit = unit
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
|
|
@ -10,12 +10,14 @@ class SelectConsumableForm(FlaskForm):
|
||||||
|
|
||||||
class CreateConsumableForm(FlaskForm):
|
class CreateConsumableForm(FlaskForm):
|
||||||
name = StringField('Name', validators=[Length(1, 255)])
|
name = StringField('Name', validators=[Length(1, 255)])
|
||||||
|
ext_id = SelectField('Tankerkönig ID', coerce=int)
|
||||||
unit = StringField('Unit', validators=[Length(1, 255)])
|
unit = StringField('Unit', validators=[Length(1, 255)])
|
||||||
submit = SubmitField(label='Do it!')
|
submit = SubmitField(label='Do it!')
|
||||||
|
|
||||||
|
|
||||||
class EditConsumableForm(FlaskForm):
|
class EditConsumableForm(FlaskForm):
|
||||||
name = StringField('Name', validators=[Length(1, 255)])
|
name = StringField('Name', validators=[Length(1, 255)])
|
||||||
|
ext_id = SelectField('Tankerkönig ID', coerce=int)
|
||||||
unit = StringField('Unit', validators=[Length(1, 255)])
|
unit = StringField('Unit', validators=[Length(1, 255)])
|
||||||
submit = SubmitField(label='Do it!')
|
submit = SubmitField(label='Do it!')
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,8 @@ def get_admin_page():
|
||||||
@login_required
|
@login_required
|
||||||
def create_consumable():
|
def create_consumable():
|
||||||
form = CreateConsumableForm()
|
form = CreateConsumableForm()
|
||||||
|
choices = [(0, ''), (1, 'diesel'), (2, 'e5'), (3, 'e10')]
|
||||||
|
form.ext_id.choices = choices
|
||||||
|
|
||||||
# preinitialize the defaults with potentially existing values from a try before
|
# preinitialize the defaults with potentially existing values from a try before
|
||||||
if form.name.data is not None:
|
if form.name.data is not None:
|
||||||
|
@ -30,7 +32,7 @@ def create_consumable():
|
||||||
form.unit.default = form.unit.data
|
form.unit.default = form.unit.data
|
||||||
|
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
new_consumable = Consumable(form.name.data, form.unit.data)
|
new_consumable = Consumable(form.name.data, choices[form.ext_id.data][1], form.unit.data)
|
||||||
db.session.add(new_consumable)
|
db.session.add(new_consumable)
|
||||||
try:
|
try:
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
@ -70,19 +72,30 @@ def edit_consumable(cid):
|
||||||
return redirect(url_for('get_admin_page'))
|
return redirect(url_for('get_admin_page'))
|
||||||
|
|
||||||
form = EditConsumableForm()
|
form = EditConsumableForm()
|
||||||
|
choices = [(0, ''), (1, 'diesel'), (2, 'e5'), (3, 'e10')]
|
||||||
|
form.ext_id.choices = choices
|
||||||
|
|
||||||
form.name.default = consumable.name
|
form.name.default = consumable.name
|
||||||
form.unit.default = consumable.unit
|
form.unit.default = consumable.unit
|
||||||
|
form.ext_id.default = 3
|
||||||
|
for c in choices:
|
||||||
|
if c[1] == consumable.ext_id:
|
||||||
|
form.ext_id.default = c[0]
|
||||||
|
|
||||||
# preinitialize the defaults with potentially existing values from a try before
|
# preinitialize the defaults with potentially existing values from a try before
|
||||||
if form.name.data is not None:
|
if form.name.data is not None:
|
||||||
form.name.default = form.name.data
|
form.name.default = form.name.data
|
||||||
if form.unit.data is not None:
|
if form.unit.data is not None:
|
||||||
form.unit.default = form.unit.data
|
form.unit.default = form.unit.data
|
||||||
|
if form.ext_id.data is not None:
|
||||||
|
form.ext_id.default = form.ext_id.data
|
||||||
|
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
consumable.name = form.name.data
|
consumable.name = form.name.data
|
||||||
consumable.unit = form.unit.data
|
consumable.unit = form.unit.data
|
||||||
|
print(form.ext_id.data)
|
||||||
|
consumable.ext_id = choices[form.ext_id.data][1]
|
||||||
|
print(consumable.ext_id)
|
||||||
try:
|
try:
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
db_log_update(consumable)
|
db_log_update(consumable)
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<form class='form-horizontal' method="POST">
|
<form class='form-horizontal' method="POST">
|
||||||
{{ form.hidden_tag() }}
|
{{ form.hidden_tag() }}
|
||||||
{{ render_field_with_errors(form.name) }}
|
{{ render_field_with_errors(form.name) }}
|
||||||
|
{{ render_field_with_errors(form.ext_id) }}
|
||||||
{{ render_field_with_errors(form.unit) }}
|
{{ render_field_with_errors(form.unit) }}
|
||||||
{{ render_field_with_errors(form.submit) }}
|
{{ render_field_with_errors(form.submit) }}
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<form class='form-horizontal' method="POST">
|
<form class='form-horizontal' method="POST">
|
||||||
{{ form.hidden_tag() }}
|
{{ form.hidden_tag() }}
|
||||||
{{ render_field_with_errors(form.name) }}
|
{{ render_field_with_errors(form.name) }}
|
||||||
|
{{ render_field_with_errors(form.ext_id) }}
|
||||||
{{ render_field_with_errors(form.unit) }}
|
{{ render_field_with_errors(form.unit) }}
|
||||||
{{ render_field_with_errors(form.submit) }}
|
{{ render_field_with_errors(form.submit) }}
|
||||||
</form>
|
</form>
|
||||||
|
|
Loading…
Reference in New Issue