Example #1
0
    def process(self, commit, *args, **kwargs):
        data = commit.data

        try:
            erc20d = ERC20D.objects.get(id=data["contractAddress"])

            claimFrom = erc20d.claimers.get(id=data["from"])
            claimTo = erc20d.claimers.get(id=data["to"])

            new_claimedFrom = int(claimFrom.claimedAmount) - int(
                data.get("value"))
            new_claimedTo = int(claimTo.claimedAmount) + int(data.get("value"))

            claimFrom.claimedAmount = str(new_claimedFrom)
            claimFrom.claimedAmount = str(new_claimedTo)

            commit.save()
            erc20d.save()
        except ERC20D.DoesNotExist:
            self.logger.warning("ERC20D with address {} does not exist".format(
                data["contractAddress"]))
        except Claim.DoesNotExist:
            claimer = Claim()
            claimer.lender = data["to"]
            claimer.claimed_amount = data["value"]
            erc20d.claimers.append(claimer)

            commit.save()
            erc20d.save()
Example #2
0
def add_claim(claimant_information, employee_record):
    with contextlib.closing(make_session()) as session:
        claim = Claim()
        claim.employer_id = employee_record.get('employer_id', None)
        claim.claimant_information = json_encode(claimant_information)
        claim.employee_record = json_encode(employee_record)
        session.add(claim)
        session.commit()
        return claim.claim_id
Example #3
0
 def post(self, registry):
     viewer = self.registry_view_authorized(registry)
     if not viewer or viewer == 'anonymous_user':
         return self.redirect_to('registry-verify',
                                 registry_name=registry.registry_name)
     for id, num_claimed in self.request.POST.iteritems():
         try:
             parsed_id = int(id)
             parsed_num_claimed = int(num_claimed)
         except ValueError:
             continue
         entry = RegistryEntry.get_by_id(parsed_id, parent=registry.key)
         if entry and entry.num_claimed_by(viewer) != parsed_num_claimed:
             try:
                 claim = next(c for c in entry.claims if c.viewer == viewer)
                 claim.num = parsed_num_claimed
             except StopIteration:
                 entry.claims.append(
                     Claim(viewer=viewer, num=parsed_num_claimed))
             entry.put()
     return self.redirect_to('registry-view',
                             registry_name=registry.registry_name)