Esempio n. 1
0
def create_orgs(user):
    """Creates new organization users based on data from GitHub."""
    logger.info('Creating new organization users based on data from GitHub')
    payload = {'access_token': user.github_access_token}
    orgs = github_api_get('/user/orgs', params=payload)
    for org in orgs:
        data = github_api_get('/orgs/%s' % org['login'], params=payload)
        organization = Organization.from_kwargs(**data)
        organization.members.add(user)
        sync_org_account_github(organization, payload)
        logger.info('Organization %s has been created' % organization)
Esempio n. 2
0
def sync_account_github(request):
    """Syncs a user or an organization account with GitHub"""
    if request.method == 'GET':
        raise Http404
    payload = {'access_token': request.user.github_access_token}
    if request.POST.get('organization'):
        logger.info('Syncing organization account %s with GitHub' %
                    request.POST['organization'])
        org = Organization.objects.get(login=request.POST['organization'])
        try:
            sync_org_account_github(org, payload)
            logger.info('Organization %s has been synced' % org)
        except IOError as e:
            messages.error(request, 'GitHub: %s' % e.strerror)
        return HttpResponseRedirect(org.get_absolute_url())
    else:
        logger.info('Syncing user account %s with GitHub' % request.user)
        try:
            sync_user_account_github(request.user, payload)
            logger.info('User account %s has been synced' % request.user)
        except IOError as e:
            messages.error(request, 'GitHub: %s' % e.strerror)
        return HttpResponseRedirect(request.user.get_absolute_url())