create endpoint for updating budget cat of vendors
This commit is contained in:
parent
69b8e2f7ac
commit
856a7fe491
3 changed files with 23 additions and 6 deletions
|
|
@ -155,7 +155,22 @@ def get_month_line_items(month:str, year:str):
|
||||||
|
|
||||||
@app.route('/update_vendors_budget_category/<vendor_id>/<updated_budget_name>', methods=['POST'])
|
@app.route('/update_vendors_budget_category/<vendor_id>/<updated_budget_name>', methods=['POST'])
|
||||||
def update_vendors_budget_category(vendor_id, updated_budget_name):
|
def update_vendors_budget_category(vendor_id, updated_budget_name):
|
||||||
db.session.execute(update(Vendor).values().where(id=vendor_id))
|
budget_cat = db.session.execute(select(BudgetCategory).where(BudgetCategory.name == updated_budget_name)).scalar()
|
||||||
|
vendor = db.session.execute(select(Vendor).where(Vendor.id ==vendor_id)).all()
|
||||||
|
if budget_cat:
|
||||||
|
db.session.execute(update(Vendor).values(bc_id=budget_cat.id).where(Vendor.id==vendor_id))
|
||||||
|
db.session.commit()
|
||||||
|
else:
|
||||||
|
db.session.add(BudgetCategory(
|
||||||
|
name=updated_budget_name
|
||||||
|
))
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
budget_cat = db.session.execute(select(BudgetCategory).where(BudgetCategory.name == updated_budget_name)).scalar()
|
||||||
|
db.session.execute(update(Vendor).values(bc_id=budget_cat.id).where(Vendor.id==vendor_id))
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
|
||||||
return {"status":'success'}
|
return {"status":'success'}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -12,12 +12,14 @@ async function updateBudgetCategory(id, updatedName){
|
||||||
var data = await result.json();
|
var data = await result.json();
|
||||||
}
|
}
|
||||||
|
|
||||||
function startEditMode(id){
|
|
||||||
|
|
||||||
|
async function startEditMode(id){
|
||||||
for(let i = 0; i < reassignButtons.length; i++){
|
for(let i = 0; i < reassignButtons.length; i++){
|
||||||
reassignButtons[i].disabled = true;
|
reassignButtons[i].disabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleKeydown = (e) => {
|
const handleKeydown = async (e) => {
|
||||||
if (e.key === 'Enter') {
|
if (e.key === 'Enter') {
|
||||||
document.removeEventListener('keydown', handleKeydown);
|
document.removeEventListener('keydown', handleKeydown);
|
||||||
const vendor = document.getElementById(`bc-line-${id}`);
|
const vendor = document.getElementById(`bc-line-${id}`);
|
||||||
|
|
@ -26,7 +28,8 @@ function startEditMode(id){
|
||||||
if (vendorInput.parentNode) {
|
if (vendorInput.parentNode) {
|
||||||
vendorInput.parentNode.removeChild(vendorInput);
|
vendorInput.parentNode.removeChild(vendorInput);
|
||||||
}
|
}
|
||||||
|
var result = await fetch(`/update_vendors_budget_category/${id}/${vendor.innerText}`, {method:'POST'});
|
||||||
|
var data = await result.json();
|
||||||
for(let i = 0; i < reassignButtons.length; i++){
|
for(let i = 0; i < reassignButtons.length; i++){
|
||||||
reassignButtons[i].disabled = false;
|
reassignButtons[i].disabled = false;
|
||||||
}
|
}
|
||||||
|
|
@ -46,8 +49,7 @@ function startEditMode(id){
|
||||||
inputElem.focus()
|
inputElem.focus()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
document.addEventListener("DOMContentLoaded", (event) => {
|
|
||||||
for(let i = 0; i < delButtons.length; i++){
|
for(let i = 0; i < delButtons.length; i++){
|
||||||
delButtons[i].addEventListener('click', e => {
|
delButtons[i].addEventListener('click', e => {
|
||||||
deleteVendor(parseInt(e.target.id));
|
deleteVendor(parseInt(e.target.id));
|
||||||
|
|
|
||||||
BIN
instance/site.db
BIN
instance/site.db
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue