[Plugin] balance: Allow debiting from own account if DEBIT_OWN is set
This commit is contained in:
parent
d8100b129e
commit
03aefbb35a
|
@ -167,9 +167,13 @@ def change_balance(userid, current_session: Session):
|
||||||
balance_controller.send(sender, user, data["amount"], current_session._user)
|
balance_controller.send(sender, user, data["amount"], current_session._user)
|
||||||
return "", NO_CONTENT
|
return "", NO_CONTENT
|
||||||
|
|
||||||
elif (amount < 0 and current_session._user.has_permission(permissions.SUB)) or (
|
elif (
|
||||||
amount > 0 and current_session._user.has_permission(permissions.ADD)
|
amount < 0
|
||||||
):
|
and (
|
||||||
|
(user == current_session._user and user.has_permission(permissions.DEBIT_OWN))
|
||||||
|
or current_session._user.has_permission(permissions.DEBIT)
|
||||||
|
)
|
||||||
|
) or (amount > 0 and current_session._user.has_permission(permissions.CREDIT)):
|
||||||
balance_controller.change_balance(user, data["amount"], current_session._user)
|
balance_controller.change_balance(user, data["amount"], current_session._user)
|
||||||
return "", NO_CONTENT
|
return "", NO_CONTENT
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
# German: Soll -> Abgang vom Konto
|
||||||
|
# Haben -> Zugang aufs Konto
|
||||||
|
# English: Debit -> from account
|
||||||
|
# Credit -> to account
|
||||||
|
|
||||||
from sqlalchemy import func
|
from sqlalchemy import func
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from werkzeug.exceptions import BadRequest
|
from werkzeug.exceptions import BadRequest
|
||||||
|
|
|
@ -1,17 +1,24 @@
|
||||||
# Show own and others balance
|
|
||||||
SHOW = "balance_show"
|
SHOW = "balance_show"
|
||||||
|
"""Show own balance"""
|
||||||
SHOW_OTHER = "balance_show_others"
|
SHOW_OTHER = "balance_show_others"
|
||||||
# Credit balance
|
"""Show others balance"""
|
||||||
ADD = "balance_add"
|
|
||||||
# Debit balance
|
CREDIT = "balance_credit"
|
||||||
SUB = "balance_sub"
|
"""Credit balances (give)"""
|
||||||
# Send from to other
|
|
||||||
|
DEBIT = "balance_debit"
|
||||||
|
"""Debit balances (take)"""
|
||||||
|
DEBIT_OWN = "balance_debit_own"
|
||||||
|
"""Debit own balance"""
|
||||||
|
|
||||||
SEND = "balance_send"
|
SEND = "balance_send"
|
||||||
# Send from other to another
|
"""Send from to other"""
|
||||||
SEND_OTHER = "balance_send_others"
|
SEND_OTHER = "balance_send_others"
|
||||||
# Can set limit for users
|
"""Send from other to another"""
|
||||||
|
|
||||||
SET_LIMIT = "balance_set_limit"
|
SET_LIMIT = "balance_set_limit"
|
||||||
# Allow sending / sub while exceeding the set limit
|
"""Can set limit for users"""
|
||||||
EXCEED_LIMIT = "balance_exceed_limit"
|
EXCEED_LIMIT = "balance_exceed_limit"
|
||||||
|
"""Allow sending / sub while exceeding the set limit"""
|
||||||
|
|
||||||
permissions = [value for key, value in globals().items() if not key.startswith("_")]
|
permissions = [value for key, value in globals().items() if not key.startswith("_")]
|
||||||
|
|
Loading…
Reference in New Issue