models.py
โค้ด: เลือกทั้งหมด
class MedList(db.Model):
m_id = db.Column(db.Integer, primary_key=True)
medlist = db.Column(db.String(200), nullable = False)
medlist = db.Column(db.String(200),unique = True, nullable = False)
med_unit = db.Column(db.Integer)
med_howToUse = db.Column(db.String(200))
med_disease = db.Column(db.String(200))
timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
complete = db.Column(db.Boolean)
def __repr__(self):
return f"MedList('{self.m_id}','{self.medlist}','{self.med_howToUse}','{self.med_disease}')"
โค้ด: เลือกทั้งหมด
@app.route('/drug',methods=['GET','POST'])
def drug():
form = adddrug()
eform = editdrug()
details = MedList.query.all()
exists = bool(MedList.query.all())
if exists == False and request.method == 'GET':
flash(f'Add drug to view','info')
elif eform.validate_on_submit() and request.method == 'POST':
d_id = request.form.get("drugid","")
d_name = request.form.get("drugnamess","")
details = MedList.query.all()
drugss = MedList.query.filter_by(m_id = d_id).first()
drugss.medlist = eform.editname.data
drugss.med_disease = eform.editDisease.data
drugss.med_howToUse = eform.editHowToUse.data
try:
db.session.commit()
flash(f'Your drug list has been updated!','success')
return redirect('/drug')
except IntegrityError:
db.session.rollback()
flash(f'This drug already exists', 'danger')
return redirect('/drug')
elif form.validate_on_submit() and request.method == 'POST':
druglist = MedList(medlist = form.drugname.data, med_disease = form.drugDisease.data,
med_howToUse = form.drugHowToUse.data)
db.session.add(druglist)
try:
db.session.commit()
flash(f'Your drug {form.drugname.data} has been added!', 'success')
return redirect(url_for('drug'))
except IntegrityError:
db.session.rollback()
flash(f'This drug already exists','danger')
return redirect('/drug')
return render_template('drug.html',title='Drug List',details=details,eform=eform)
โค้ด: เลือกทั้งหมด
class adddrug(FlaskForm):
drugname = StringField('Add Drug Name')
drugDisease = StringField('Disease')
drugHowToUse = StringField('Dosage')
drugsubmit = SubmitField('Save Add Change')
class editdrug(FlaskForm):
editname = StringField('Edit Drug Name')
editDisease = StringField('Disease')
editHowToUse = StringField('Dosage')
editsubmit = SubmitField('Save Edit Change')
โค้ด: เลือกทั้งหมด
{% extends "base.html" %}
{% block app_content %}
<div class="container">
<h1>Drug List</h1>
<div>
<h3 style="display: inline-block;margin: 0;">Manage Drug List</h3>
<button type="button" class="btn btn-add" data-toggle="modal" data-target
="#exampleModal">
<span class="btn-icon-add"><i class="glyphicon glyphicon-plus"></i>Add Drug</span>
</button>
</div>
</div>
<!-- add Modal code-->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" style="margin-top:150px;">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Add Product</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div id="modal-cont" class="modal-body" >
<form action="" method="POST" id="drugs">
{{ form.csrf_token() }}
{{form.drugname.label(class="form-control-label")}}<br>
{{ form.drugname(class="form-control form-control-lg") }}
{{form.drugDisease.label(class="form-control-label")}}<br>
{{form.drugDisease(class="form-control form-control-lg")}}
{{ form.drugHowToUse.label(class="form-control-label")}}<br>
{{ form.drugHowToUse(class="form-control form-control-lg")}}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<div >
{{ form.drugsubmit(class="btn btn-primary") }}
</div>
</div>
</form>
</div>
</div>
</div>
<!--end of modal design-->
<table class="table table-hover">
<thead>
<tr>
<th>ID</th>
<th>Drug Name</th>
<th>Condition</th>
<th>Dosage</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{% for d in details %}
<tr>
<td>{{d.m_id}}</td>
<td>{{d.medlist}}</td>
<td>{{d.med_disease}}</td>
<td>{{d.med_howToUse}}</td>
<td>
<button type="button" class="btn btn-edit" data-toggle="modal" data-target = "#edit{{d.m_id}}" >
<span class="btn-icon"><i class="glyphicon glyphicon-pencil"></i></span>Edit</button>
</td>
<!--editmodal-->
<div class="modal fade" id="edit{{d.m_id}}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" style="margin-top:150px;">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h3 class="modal-title" id="exampleModalLabel">Edit Drug List</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div id="modal-cont" class="modal-body" >
<form action="" method="POST" id="drugs">
<input type="hidden" name="drugid" value="{{d.m_id}}"/>
<input type="hidden" name="drugnamess" value="{{d.medlist}}"/>
{{ eform.csrf_token() }}
{{ eform.editname.label(class="form-control-label") }}<br>
{{ eform.editname(class="form-control form-control-lg",placeholder=d.medlist) }}
{{ eform.editDisease.label(class="form-control-label") }}<br>
{{ eform.editDisease(class="form-control form-control-lg",placeholder=d.med_disease) }}
{{ eform.editHowToUse.label(class="form-control-label")}}<br>
{{ eform.editHowToUse(class="form-control form-control-lg",placeholder=d.med_howToUse) }}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<div >
{{ eform.editsubmit(class="btn btn-primary") }}
</div>
</div>
</form>
</div>
</div>
</div>
<!--editmodal end-->
<td>
<a href="{{ url_for('delete', d_id= d.m_id, type='drug' )}}">
<button type="button" class="btn btn-delete">
<span class="btn-icon"><i class="glyphicon glyphicon-trash"></i></span>Delete</button></a>
</td>
</tr>
{%endfor%}
</tbody>
</table>
<script type="text/javascript">
</script>
{% endblock %}