@@ 454-487 (lines=34) @@ | ||
451 | ||
452 | ||
453 | # Call this when the cash box gets emptied |
|
454 | def reconcile_safe(amount, admin): |
|
455 | assert(amount>=0) |
|
456 | ||
457 | e = event.EmptySafe(admin) |
|
458 | DBSession.add(e) |
|
459 | DBSession.flush() |
|
460 | ||
461 | safe_c = account.get_cash_account("safe") |
|
462 | expected_amount = safe_c.balance |
|
463 | amount_missing = expected_amount - amount |
|
464 | ||
465 | if amount_missing != 0.0: |
|
466 | # If the amount in the safe doesn't match what we expected there to |
|
467 | # be, we need to adjust the amount in the cash box be transferring |
|
468 | # to or from a null account |
|
469 | ||
470 | if amount_missing > 0: |
|
471 | # We got less in the box than we expected |
|
472 | # Move money from the safe account to null with transaction type |
|
473 | # "lost" |
|
474 | t1 = transaction.Lost(e, account.get_cash_account("safe"), amount_missing) |
|
475 | DBSession.add(t1) |
|
476 | ||
477 | else: |
|
478 | # We got more in the box than expected! Use a found transaction |
|
479 | # to reconcile the difference |
|
480 | t1 = transaction.Found(e, account.get_cash_account("safe"), abs(amount_missing)) |
|
481 | DBSession.add(t1) |
|
482 | ||
483 | ||
484 | # Now move all the money from the safe to chezbetty |
|
485 | t2 = transaction.EmptySafe(e, amount) |
|
486 | DBSession.add(t2) |
|
487 | return e |
|
488 | ||
489 | ||
490 | # Call this to move all of the money from the cash box to the safe. |
|
@@ 517-549 (lines=33) @@ | ||
514 | ||
515 | ||
516 | # Call this when bitcoins are converted to USD |
|
517 | def reconcile_bitcoins(amount, admin, expected_amount=None): |
|
518 | assert(amount>0) |
|
519 | ||
520 | e = event.EmptyBitcoin(admin) |
|
521 | DBSession.add(e) |
|
522 | DBSession.flush() |
|
523 | ||
524 | btcbox_c = account.get_cash_account("btcbox") |
|
525 | if expected_amount == None: |
|
526 | expected_amount = btcbox_c.balance |
|
527 | amount_missing = expected_amount - amount |
|
528 | ||
529 | if amount_missing != 0.0: |
|
530 | # Value of bitcoins fluctated and we didn't make as much as we expected |
|
531 | ||
532 | if amount_missing > 0: |
|
533 | # We got less in bitcoins than we expected |
|
534 | # Move money from the btcbox account to null with transaction type |
|
535 | # "lost" |
|
536 | t1 = transaction.Lost(e, account.get_cash_account("btcbox"), amount_missing) |
|
537 | DBSession.add(t1) |
|
538 | ||
539 | else: |
|
540 | # We got more in bitcoins than expected! Use a found transaction |
|
541 | # to reconcile the difference |
|
542 | t1 = transaction.Found(e, account.get_cash_account("btcbox"), abs(amount_missing)) |
|
543 | DBSession.add(t1) |
|
544 | ||
545 | ||
546 | # Now move all the money from the bitcoin box to chezbetty |
|
547 | t2 = transaction.EmptyBitcoin(e, amount) |
|
548 | DBSession.add(t2) |
|
549 | return expected_amount |
|
550 | ||
551 | ||
552 | # Call this to make a miscellaneous adjustment to the chezbetty account |