Kaynağa Gözat

Error message if you do not own any that could be sent

Eren Yilmaz 6 yıl önce
ebeveyn
işleme
3872d62b95
2 değiştirilmiş dosya ile 9 ekleme ve 4 silme
  1. 1 1
      model.py
  2. 8 3
      server_controller.py

+ 1 - 1
model.py

@@ -418,7 +418,7 @@ def available_amount(user_id, ownable_id):
     return cursor.fetchone()[0] - sell_ordered_amount(user_id, ownable_id)
 
 
-def user_owns_at_least(amount, user_id, ownable_id):
+def user_has_at_least_available(amount, user_id, ownable_id):
     connect()
 
     if not isinstance(amount, float) and not isinstance(amount, int):

+ 8 - 3
server_controller.py

@@ -139,7 +139,7 @@ def order():
         stop_loss = None
 
     if sell:
-        if not model.user_owns_at_least(amount, user_id, ownable_id):
+        if not model.user_has_at_least_available(amount, user_id, ownable_id):
             return bad_request('You can not sell more than you own.')
     try:
         expiry = datetime.strptime(model.current_db_time(), '%Y-%m-%d %H:%M:%S') + \
@@ -164,10 +164,15 @@ def gift():
         return bad_request('Invalid amount.')
     ownable_id = model.ownable_id_by_name(request.json['object_name'])
     sender_id = model.get_user_id_by_session_id(request.json['session_id'])
-    recipient_id = model.get_user_id_by_name(request.json['username'])
-    if not model.user_owns_at_least(amount, sender_id, ownable_id):
+
+    if model.available_amount(sender_id, ownable_id) == 0:
+        return bad_request('You do not own any of these.')
+    if not model.user_has_at_least_available(amount, sender_id, ownable_id):
+        # for example if you have a 1.23532143213 Kollar and want to give them all away
         amount = model.available_amount(sender_id, ownable_id)
 
+    recipient_id = model.get_user_id_by_name(request.json['username'])
+
     model.send_ownable(sender_id,
                        recipient_id,
                        ownable_id,