trex-model 1.6.4__tar.gz → 1.6.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of trex-model might be problematic. Click here for more details.

Files changed (65) hide show
  1. {trex_model-1.6.4 → trex_model-1.6.5}/PKG-INFO +1 -1
  2. {trex_model-1.6.4 → trex_model-1.6.5}/setup.py +1 -1
  3. {trex_model-1.6.4 → trex_model-1.6.5}/trex_model.egg-info/PKG-INFO +1 -1
  4. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/customer_models.py +4 -0
  5. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/helper/reward_transaction_helper.py +4 -5
  6. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/transaction_models.py +33 -148
  7. {trex_model-1.6.4 → trex_model-1.6.5}/LICENSE +0 -0
  8. {trex_model-1.6.4 → trex_model-1.6.5}/MANIFEST.in +0 -0
  9. {trex_model-1.6.4 → trex_model-1.6.5}/README.md +0 -0
  10. {trex_model-1.6.4 → trex_model-1.6.5}/setup.cfg +0 -0
  11. {trex_model-1.6.4 → trex_model-1.6.5}/trex_model.egg-info/SOURCES.txt +0 -0
  12. {trex_model-1.6.4 → trex_model-1.6.5}/trex_model.egg-info/dependency_links.txt +0 -0
  13. {trex_model-1.6.4 → trex_model-1.6.5}/trex_model.egg-info/requires.txt +0 -0
  14. {trex_model-1.6.4 → trex_model-1.6.5}/trex_model.egg-info/top_level.txt +0 -0
  15. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/__init__.py +0 -0
  16. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/conf.py +0 -0
  17. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/__init__.py +0 -0
  18. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/__init__.py +0 -0
  19. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/admin_models.py +0 -0
  20. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/analytic_models.py +0 -0
  21. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/app_models.py +0 -0
  22. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/coporate_models.py +0 -0
  23. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/customer_model_helpers.py +0 -0
  24. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/fb_subsriber_models.py +0 -0
  25. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/helper/__init__.py +0 -0
  26. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/helper/reward_model_helpers.py +0 -0
  27. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/import_models.py +0 -0
  28. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/inventory_model.py +0 -0
  29. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/loyalty_models.py +0 -0
  30. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/lucky_draw_models.py +0 -0
  31. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/marketing_models.py +0 -0
  32. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/membership_models.py +0 -0
  33. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/merchant_models.py +0 -0
  34. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/merchant_promotion_models.py +0 -0
  35. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/message_model_helper.py +0 -0
  36. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/message_models.py +0 -0
  37. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/model_decorators.py +0 -0
  38. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/ndb_models.py +0 -0
  39. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/partnership_models.py +0 -0
  40. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/pos_models.py +0 -0
  41. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/prepaid_models.py +0 -0
  42. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/product_models.py +0 -0
  43. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/program_models.py +0 -0
  44. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/rating_models.py +0 -0
  45. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/recruit_models.py +0 -0
  46. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/redeem_models.py +0 -0
  47. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/redemption_catalogue_models.py +0 -0
  48. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/referral_program_model.py +0 -0
  49. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/reward_models.py +0 -0
  50. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/spending_base_program_model.py +0 -0
  51. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/system_models.py +0 -0
  52. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/task_models.py +0 -0
  53. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/test_models.py +0 -0
  54. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/user_models.py +0 -0
  55. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/datastore/voucher_models.py +0 -0
  56. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/merchant_helpers.py +0 -0
  57. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/model_decorator.py +0 -0
  58. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/models/prepaid_helpers.py +0 -0
  59. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/pos_conf.py +0 -0
  60. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/program_conf.py +0 -0
  61. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/utils/__init__.py +0 -0
  62. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/utils/gcloud/__init__.py +0 -0
  63. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/utils/gcloud/datastore_util.py +0 -0
  64. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/utils/model/__init__.py +0 -0
  65. {trex_model-1.6.4 → trex_model-1.6.5}/trexmodel/utils/model/model_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: trex_model
3
- Version: 1.6.4
3
+ Version: 1.6.5
4
4
  Summary: TRex database module package
5
5
  Home-page: https://bitbucket.org/lokjac/trex-model
6
6
  Author: Jack Lok
@@ -3,7 +3,7 @@ with open("README.md", "r") as fh:
3
3
  long_description = fh.read()
4
4
  setuptools.setup(
5
5
  name='trex_model',
6
- version='1.6.4',
6
+ version='1.6.5',
7
7
  author="Jack Lok",
8
8
  author_email="sglok77@gmail.com",
9
9
  description="TRex database module package",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: trex-model
3
- Version: 1.6.4
3
+ Version: 1.6.5
4
4
  Summary: TRex database module package
5
5
  Home-page: https://bitbucket.org/lokjac/trex-model
6
6
  Author: Jack Lok
@@ -87,6 +87,10 @@ class Customer(BaseNModel, DictModel, FullTextSearchable):
87
87
 
88
88
  ]
89
89
 
90
+ @property
91
+ def customer_key(self):
92
+ return self.key_in_str
93
+
90
94
  @property
91
95
  def is_any_entitled_voucher_active(self):
92
96
 
@@ -152,11 +152,10 @@ def create_sales_transaction(transact_outlet=None, sales_amount=.0, tax_amount=.
152
152
  transact_by = transact_by,
153
153
 
154
154
  transact_datetime = transact_datetime,
155
- promotion_code = promotion_code,
156
155
 
157
156
  )
158
157
 
159
- create_merchant_sales_transaction_upstream_for_merchant(sales_transaction, streamed_datetime=transact_datetime)
158
+ create_merchant_sales_transaction_upstream_for_merchant(sales_transaction,)
160
159
 
161
160
  return sales_transaction
162
161
 
@@ -772,7 +771,7 @@ def prepaid_payment_transaction(customer, redeem_outlet=None, reward_format=None
772
771
 
773
772
  if customer_redemption:
774
773
  create_payment_message(customer_redemption)
775
- create_merchant_customer_redemption_upstream_for_merchant(customer_redemption, streamed_datetime=redeemed_datetime)
774
+ create_merchant_customer_redemption_upstream_for_merchant(customer_redemption, )
776
775
 
777
776
  return customer_redemption
778
777
 
@@ -1198,8 +1197,8 @@ def create_topup_prepaid_transaction(customer, prepaid_program, topup_outlet=Non
1198
1197
  update_customer_kpi_summary_and_transact_summary(customer, customer_transaction)
1199
1198
 
1200
1199
  create_transaction_message(customer_transaction)
1201
- create_merchant_customer_prepaid_upstream_for_merchant(customer_transaction, prepaid_topup_reward, streamed_datetime=transact_datetime)
1202
- create_merchant_customer_transaction_upstream_for_merchant(customer_transaction, streamed_datetime=transact_datetime)
1200
+ create_merchant_customer_prepaid_upstream_for_merchant(customer_transaction, prepaid_topup_reward, )
1201
+ create_merchant_customer_transaction_upstream_for_merchant(customer_transaction, )
1203
1202
 
1204
1203
  return (customer_transaction, prepaid_summary)
1205
1204
 
@@ -185,29 +185,45 @@ class SalesTransaction(BaseNModel, DictModel):
185
185
 
186
186
  return customer_transaction
187
187
 
188
- @staticmethod
189
- def list_merchant_transaction(transact_merchant, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
188
+ @classmethod
189
+ def list_outlet_transaction(cls, transact_outlet, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
190
190
  if reverse_order:
191
- query = SalesTransaction.query(ndb.AND(SalesTransaction.transact_merchant==transact_merchant.create_ndb_key()))
191
+ query = cls.query(ndb.AND(cls.transact_outlet==transact_outlet.create_ndb_key())).order(-cls.transact_datetime)
192
192
  else:
193
- query = SalesTransaction.query(ndb.AND(SalesTransaction.transact_merchant==transact_merchant.create_ndb_key()))
193
+ query = cls.query(ndb.AND(cls.transact_outlet==transact_outlet.create_ndb_key())).order(cls.transact_datetime)
194
194
 
195
- return SalesTransaction.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
195
+ return cls.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
196
196
 
197
- @staticmethod
198
- def count_by_merchant(transact_merchant, limit=conf.MAX_FETCH_RECORD):
199
- query = SalesTransaction.query(ndb.AND(SalesTransaction.transact_merchant==transact_merchant.create_ndb_key()))
197
+ @classmethod
198
+ def count_outlet_transaction(cls, transact_outlet, limit=conf.MAX_FETCH_RECORD):
199
+ query = cls.query(ndb.AND(cls.transact_outlet==transact_outlet.create_ndb_key()))
200
200
 
201
- return SalesTransaction.count_with_condition_query(query, limit)
201
+ return cls.count_with_condition_query(query, limit=limit)
202
202
 
203
- @staticmethod
204
- def list(offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
203
+
204
+ @classmethod
205
+ def list_merchant_transaction(cls, transact_merchant, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
206
+ if reverse_order:
207
+ query = cls.query(ndb.AND(cls.transact_merchant==transact_merchant.create_ndb_key()))
208
+ else:
209
+ query = cls.query(ndb.AND(cls.transact_merchant==transact_merchant.create_ndb_key()))
210
+
211
+ return cls.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
212
+
213
+ @classmethod
214
+ def count_by_merchant(cls, transact_merchant, limit=conf.MAX_FETCH_RECORD):
215
+ query = cls.query(ndb.AND(cls.transact_merchant==transact_merchant.create_ndb_key()))
216
+
217
+ return cls.count_with_condition_query(query, limit)
218
+
219
+ @classmethod
220
+ def list(cls, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
205
221
  if reverse_order:
206
- query = SalesTransaction.query().order(-SalesTransaction.transact_datetime)
222
+ query = cls.query().order(-cls.transact_datetime)
207
223
  else:
208
- query = SalesTransaction.query().order(SalesTransaction.transact_datetime)
224
+ query = cls.query().order(cls.transact_datetime)
209
225
 
210
- return SalesTransaction.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
226
+ return cls.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
211
227
 
212
228
  @classmethod
213
229
  def list_transaction_by_date(cls, transact_date, transact_outlet=None, including_reverted_transaction=True, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False):
@@ -511,9 +527,9 @@ class CustomerTransaction(SalesTransaction):
511
527
 
512
528
  transact_datetime = sales_transaction.transact_datetime,
513
529
  is_from_instant_transaction = True,
514
- is_rating_review_enabled = is_rating_review_enabled
530
+ is_rating_review_enabled = is_rating_review_enabled,
515
531
  #is_sales_transaction = True,
516
- #allow_to_revert = True,
532
+ allow_to_revert = False,
517
533
  #is_membership_purchase = False,
518
534
  #is_membership_renew = False,
519
535
  #purchased_merchant_membership = False,
@@ -589,105 +605,7 @@ class CustomerTransaction(SalesTransaction):
589
605
  #customer.put()
590
606
 
591
607
  return customer_transaction
592
- '''
593
- def revert(self, customer_acct, reverted_by):
594
- transaction_id = self.transaction_id
595
-
596
- entitled_point_details_list = CustomerPointReward.list_by_transaction_id(transaction_id)
597
-
598
- entitled_stamp_details_list = CustomerStampReward.list_by_transaction_id(transaction_id)
599
-
600
- entiteld_vouchers_list = CustomerEntitledVoucher.list_by_transaction_id(transaction_id)
601
-
602
- entitled_prepaid_list = CustomerPrepaidReward.list_by_transaction_id(transaction_id)
603
-
604
- is_transaction_reward_used = False
605
-
606
- customer_reward_summary = customer_acct.reward_summary or {}
607
- entitled_voucher_summary = customer_acct.entitled_voucher_summary or {}
608
-
609
- logger.debug('revert: transaction_id=%s', transaction_id)
610
- logger.debug('revert: entitled_point_details_list count=%s', len(entitled_point_details_list))
611
- logger.debug('revert: entitled_stamp_details_list count=%s', len(entitled_stamp_details_list))
612
- logger.debug('revert: entiteld_vouchers_list count=%s', len(entiteld_vouchers_list))
613
-
614
- for p in entitled_point_details_list:
615
- if p.is_used:
616
- is_transaction_reward_used = True
617
- break
618
-
619
- if is_transaction_reward_used is False:
620
- for p in entitled_stamp_details_list:
621
- if p.is_used:
622
- is_transaction_reward_used = True
623
- break
624
-
625
- if is_transaction_reward_used is False:
626
- for p in entiteld_vouchers_list:
627
- if p.is_used:
628
- is_transaction_reward_used = True
629
- break
630
-
631
- logger.debug('revert: is_transaction_reward_used=%s', is_transaction_reward_used)
632
-
633
- if is_transaction_reward_used is False:
634
-
635
- logger.debug('Going to revert transqction')
636
- reverted_by_key = reverted_by.create_ndb_key()
637
-
638
- reverted_datetime = datetime.now()
639
- self.is_revert = True
640
- self.reverted_datetime = reverted_datetime
641
- self.reverted_by = reverted_by_key
642
- self.reverted_by_username = reverted_by.username
643
- self.put()
644
-
645
- for p in entitled_point_details_list:
646
- if p.is_valid:
647
- customer_reward_summary = update_reward_summary_with_reverted_reward(customer_reward_summary, p.to_reward_summary())
648
- p.status = program_conf.REWARD_STATUS_REVERTED
649
- p.reverted_datetime = reverted_datetime
650
- p.reverted_by = reverted_by_key
651
- p.reverted_by_username = reverted_by.username
652
- p.put()
653
-
654
-
655
- for p in entitled_stamp_details_list:
656
- if p.is_valid:
657
- customer_reward_summary = update_reward_summary_with_reverted_reward(customer_reward_summary, p.to_reward_summary())
658
- p.status = program_conf.REWARD_STATUS_REVERTED
659
- p.reverted_datetime = reverted_datetime
660
- p.reverted_by = reverted_by_key
661
- p.reverted_by_username = reverted_by.username
662
- p.put()
663
-
664
- for p in entiteld_vouchers_list:
665
- if p.is_valid:
666
- p.status = program_conf.REWARD_STATUS_REVERTED
667
- p.reverted_datetime = reverted_datetime
668
- p.reverted_by = reverted_by_key
669
- p.reverted_by_username = reverted_by.username
670
- p.put()
671
-
672
- entitled_voucher_summary = update_customer_entiteld_voucher_summary_after_reverted_voucher(entitled_voucher_summary, p)
673
-
674
- updated_voucher_summary = {}
675
-
676
- logger.debug('revert transaction debug: entitled_voucher_summary=%s', entitled_voucher_summary)
677
-
678
- for voucher_key, details in entitled_voucher_summary.items():
679
- if len(details.get('redeem_info_list'))>0:
680
- updated_voucher_summary[voucher_key] = details
681
-
682
- customer_acct.reward_summary = customer_reward_summary
683
- customer_acct.entitled_voucher_summary = updated_voucher_summary or {}
684
- customer_acct.put()
685
-
686
- return True
687
-
688
- else:
689
- raise Exception('Transaction reward have been used')
690
- '''
608
+
691
609
  @staticmethod
692
610
  def list_customer_transaction(customer_acct, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True, keys_only=False):
693
611
  if keys_only:
@@ -706,45 +624,12 @@ class CustomerTransaction(SalesTransaction):
706
624
  query = CustomerTransaction.query(ancestor = customer_acct.create_ndb_key())
707
625
  CustomerTransaction.delete_multiples(query)
708
626
 
709
- @staticmethod
710
- def list(offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
711
- if reverse_order:
712
- query = CustomerTransaction.query().order(-CustomerTransaction.transact_datetime)
713
- else:
714
- query = CustomerTransaction.query().order(CustomerTransaction.transact_datetime)
715
-
716
- return CustomerTransaction.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
717
-
718
- @staticmethod
719
- def list_outlet_transaction(transact_outlet, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
720
- if reverse_order:
721
- query = CustomerTransaction.query(ndb.AND(CustomerTransaction.transact_outlet==transact_outlet.create_ndb_key())).order(-CustomerTransaction.transact_datetime)
722
- else:
723
- query = CustomerTransaction.query(ndb.AND(CustomerTransaction.transact_outlet==transact_outlet.create_ndb_key())).order(CustomerTransaction.transact_datetime)
724
-
725
- return CustomerTransaction.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
726
-
727
- @staticmethod
728
- def list_merchant_transaction(transact_merchant, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False, reverse_order=True):
729
- if reverse_order:
730
- query = CustomerTransaction.query(ndb.AND(CustomerTransaction.transact_merchant==transact_merchant.create_ndb_key()))
731
- else:
732
- query = CustomerTransaction.query(ndb.AND(CustomerTransaction.transact_merchant==transact_merchant.create_ndb_key()))
733
-
734
- return CustomerTransaction.list_all_with_condition_query(query, offset=offset, limit=limit, start_cursor=start_cursor, return_with_cursor=return_with_cursor)
735
-
736
627
  @staticmethod
737
628
  def count_valid_customer_transaction(customer_acct, limit=conf.MAX_FETCH_RECORD):
738
629
  query = CustomerTransaction.query(ndb.AND(CustomerTransaction.is_revert==False), ancestor = customer_acct.create_ndb_key())
739
630
 
740
631
  return CustomerTransaction.count_with_condition_query(query, limit=limit)
741
632
 
742
- @staticmethod
743
- def count_outlet_transaction(transact_outlet, limit=conf.MAX_FETCH_RECORD):
744
- query = CustomerTransaction.query(ndb.AND(CustomerTransaction.transact_outlet==transact_outlet.create_ndb_key()))
745
-
746
- return CustomerTransaction.count_with_condition_query(query, limit=limit)
747
-
748
633
  @staticmethod
749
634
  def list_valid_customer_transaction(customer_acct, offset=0, limit=conf.PAGINATION_SIZE, start_cursor=None, return_with_cursor=False):
750
635
 
File without changes
File without changes
File without changes
File without changes
File without changes