"last_name" : self.get_argument("last_name"),
}
- # Collect company information
- company_name = self.get_argument("company_name", None)
-
# Collect address information
address = {
"street1" : self.get_argument("street1"),
person = response.get("number")
- # Fetch properties of this person
- response = await self.backend.zeiterfassung.send_request(
- "/api/v1/persons/%s/properties" % person,
- )
-
- # Does this person already have an organization?
- organization = response.get("organization", None)
-
- # Search for organization or create a new one
- if not organization and company_name:
- response = await self.backend.zeiterfassung.send_request(
- "/api/v1/organizations/search", name=name,
- )
-
- # Create a new one if we could not find anything
- if not response:
- response = await self.backend.zeiterfassung.send_request(
- "/api/v1/organizations/create", name=name, **address,
- )
-
- organization = response.get("number")
-
- # Connect organization and person
- await self.backend.zeiterfassung.send_request(
- "/api/v1/organizations/%s/persons/add", person=person,
- )
-
donation = {
- "organization" : organization,
"person" : person,
# $$$
# Create donation
response = await self.backend.zeiterfassung.send_request(
- "/api/v1/donations/create/ipfire-project", **donation)
+ "/api/v1/donations/create/ipfire-project", **donation, **address)
# Redirect the user to the payment page
redirect_url = response.get("redirect_url")