uprawnienia do stacji i usuwanie firm
This commit is contained in:
+27
@@ -396,6 +396,33 @@ def companies_create():
|
||||
db.session.add(c);db.session.commit();return response({'id':c.id,'redirect':url_for('main.admin_companies',company_id=c.id)},'Dodano firmę',201)
|
||||
except Exception as exc:db.session.rollback();return fail(str(exc))
|
||||
|
||||
@api.delete('/companies/<int:company_id>')
|
||||
@role_required('admin')
|
||||
def companies_delete(company_id):
|
||||
company = CompanySettings.query.get_or_404(company_id)
|
||||
blockers = []
|
||||
users_count = User.query.filter_by(company_id=company.id).count()
|
||||
vehicles_count = Vehicle.query.filter_by(company_id=company.id).count()
|
||||
cards_count = FuelCard.query.filter_by(company_id=company.id).count()
|
||||
if users_count:
|
||||
blockers.append(f'{users_count} użytkowników')
|
||||
if vehicles_count:
|
||||
blockers.append(f'{vehicles_count} pojazdów')
|
||||
if cards_count:
|
||||
blockers.append(f'{cards_count} kart paliwowych')
|
||||
if blockers:
|
||||
return fail(
|
||||
'Nie można usunąć firmy, ponieważ ma przypisane: ' + ', '.join(blockers) +
|
||||
'. Najpierw przenieś lub usuń te dane albo dezaktywuj firmę.',
|
||||
409,
|
||||
)
|
||||
company.favorite_stations.clear()
|
||||
company.allowed_stations.clear()
|
||||
db.session.delete(company)
|
||||
db.session.commit()
|
||||
socketio.emit('app_changed', {'resource':'company','deleted_id':company_id})
|
||||
return response({'redirect':url_for('main.admin_companies')}, 'Usunięto firmę')
|
||||
|
||||
@api.put('/companies/<int:company_id>')
|
||||
@role_required('boss','admin')
|
||||
def companies_update(company_id):
|
||||
|
||||
Reference in New Issue
Block a user