def update_persons(self, start, batch_size = 100, verbosity = 1): '''Updates persons from etvnet.''' cred = Credentials(ETVNET_PERSONS_PUBLIC_KEY, ETVNET_PERSONS_PRIVATE_KEY) conn = etvIntegrationConnection(cred, ETVNET_PERSONS_ENDPOINT) result = conn.make_request( 'GET', '/integration/person_list.json', args={'start': start, 'batch_size': batch_size, 'type': 'person'} ) data = simplejson.load(result) result = None if data: for p in data: try: person = Person.objects.get(external_ident=p.get('id')) except Person.DoesNotExist: person = Person(external_ident=p.get('id')) person.first_name = p.get('first_name') person.last_name = p.get('last_name') person.name = p.get('name') person.birthday = p.get('birthday') person.death = p.get('death') person.is_available = p.get('is_approved') person.updated = result = p.get('updated') person.url = p.get('url') if verbosity >= 2: print( "id: %s name: %s (%s)" \ % (p.get('id'), p.get('name').encode('utf-8'), person.pk and 'updated' or 'created')) person.save() return result
def index(request): today = date.today() sDate = str(today.year) + '-01-01' eDate = str(today.year) + '-' + str(today.month) + '-' + str(today.day) sM = 1 eM = today.month if request.GET.get('range'): dates = request.GET.get('range').split(sep=" - ") sDate = dates[0] eDate = dates[1] sM = int(sDate.split('-')[1]) eM = int(eDate.split('-')[1]) if request.user.person: person = request.user.person else: person = Person() person.name = request.user.username person.owner = request.user person.save() request.user.person = person request.user.save() months = [] for i in range(sM, eM + 1): months.append(getMonthText(i)) # get working wSales = graphWork(request, Sale, sDate, eDate, months) wSalesReturns = graphWork(request, SalesReturn, sDate, eDate, months) wPurchases = graphWork(request, Purchase, sDate, eDate, months) wPurchasesReturns = graphWork(request, PurchasesReturn, sDate, eDate, months) wExpenses = graphWork(request, Expense, sDate, eDate, months) args = { 'nav': 'charts', 'months': months, 'sales': wSales['list'], 'total_sales': wSales['total'], 'sales_returns': wSalesReturns['list'], 'total_sales_returns': wSalesReturns['total'], 'purchases': wPurchases['list'], 'total_purchases': wPurchases['total'], 'purchases_returns': wPurchasesReturns['list'], 'total_purchases_returns': wPurchasesReturns['total'], 'expenses': wExpenses['list'], 'total_expenses': wExpenses['total'], 'startDate': sDate, 'endDate': eDate, 'range': sDate + ' - ' + eDate, } return render(request, 'charts/index.html', args)
def after_user_activation(sender, user, request, **kwargs): person = Person() person.owner = user person.name = user.username person.save() groups = Group.objects.all() if groups: for group in groups: if group.name.find('Owner') != -1 or group.name.find('owner') != -1: user.groups.add(group) user.person = person user.save()