Esempio n. 1
0
    def post(self, request):
        user_form = CreateUserForm(request.POST)
        profile_form = CreateProfileForm(request.POST)

        print(user_form.errors)
        print(user_form.cleaned_data)

        if user_form.is_valid() and profile_form.is_valid():

            user = User(**user_form.cleaned_data)
            user.save()
            print('User表OK,,,,')

            user_profile = Profile()
            user_profile.user = user
            user_profile.name = profile_form.cleaned_data['name']
            user_profile.lnvalid_date = profile_form.cleaned_data[
                'lnvalid_date']
            user_profile.phone = profile_form.cleaned_data['phone']
            user_profile.weixin = profile_form.cleaned_data['weixin']
            user_profile.info = request.POST.getlist('info', None)[0]
            user_profile.save()

            print('userprofile表OK,,,,')

            if request.POST.get('groups', None):
                user.groups.set(request.POST.getlist('groups'))

            register_email = RegisterEmail()
            register_email.user = user
            register_email.type_code = 0
            register_email.code = random_str()
            register_email.save()

            contnet = """
            <p>你好 %s: </p>
            
            <p>恭喜您,您的账号已经创建成功 </p>

            <p>用户名: %s </p>

            <p><a href='%s'>请点击这里设置密码</a> </p>
            """ % (user.username, user_profile.name,
                   settings.HOST_URL + reverse('user_create_password') +
                   '?code=' + str(register_email.code))

            try:
                send_mail(settings.EMAIL_USER, settings.EMAIL_PASSWORD,
                          user.email, settings.EMAIL_TITLE, contnet,
                          settings.EMAIL_HOST, settings.EMAIL_PORT)
                print('邮件发送OK...')
            except Exception as e:
                print(e)
                print('邮件发送失败...')

        return redirect(reverse('user_list'))
Esempio n. 2
0
def dashboard(request):
    """Personalized dashboard for authenticated users."""
    try:
        profile = request.user.get_profile()
    except UserProfile.DoesNotExist:
        user = request.user
        username = ''
        if user.username[:10] != 'openiduser':
            username = user.username
        form = CreateProfileForm(
            initial={
                'full_name': ' '.join((user.first_name, user.last_name)),
                'email': user.email,
                'username': username,
            })
        return render_to_response('dashboard/setup_profile.html', {
            'form': form,
        },
                                  context_instance=RequestContext(request))
    current_projects = profile.get_current_projects()
    users_following = profile.following()
    users_followers = profile.followers()
    activities = Activity.objects.dashboard(request.user.get_profile())
    show_welcome = not profile.discard_welcome
    return render_to_response('dashboard/dashboard.html', {
        'current_projects': current_projects,
        'users_following': users_following,
        'users_followers': users_followers,
        'activities': activities,
        'show_welcome': show_welcome,
    },
                              context_instance=RequestContext(request))
Esempio n. 3
0
def dashboard(request):
    """Personalized dashboard for authenticated users."""
    try:
        profile = request.user.get_profile()
    except UserProfile.DoesNotExist:
        user = request.user
        username = ''
        if user.username[:10] != 'openiduser':
            username = user.username
        form = CreateProfileForm(
            initial={
                'full_name': ' '.join((user.first_name, user.last_name)),
                'email': user.email,
                'username': username,
            })
        messages.info(
            request, _('Please fill out your profile to finish registration.'))
        return render_to_response('dashboard/setup_profile.html', {
            'form': form,
        },
                                  context_instance=RequestContext(request))
    show_welcome = not profile.discard_welcome
    activities = Activity.objects.dashboard(request.user.get_profile())
    activities = filter_activities(request, activities)
    context = {
        'profile': profile,
        'profile_view': False,
        'show_welcome': show_welcome,
        'domain': Site.objects.get_current().domain,
        'dashboard_url': reverse('dashboard'),
    }
    context.update(get_pagination_context(request, activities))
    return render_to_response('dashboard/dashboard.html',
                              context,
                              context_instance=RequestContext(request))
Esempio n. 4
0
    def post(self, request):
        user_form = CreateUserForm(request.POST)
        profile_form = CreateProfileForm(request.POST)
        uid = request.POST.get('uid', None)
        user = User.objects.get(pk=uid)
        groups = Group.objects.all()

        if user_form.is_valid() and profile_form.is_valid():
            print(user_form.cleaned_data)
            user.username = user_form.cleaned_data['username']
            user.email = user_form.cleaned_data['email']
            user.is_superuser = user_form.cleaned_data['is_superuser']
            user.save()

            print('用户表更新完成OK...')

            profile = Profile.objects.filter(user=user)

            profile.update(
                name=profile_form.cleaned_data['name'],
                lnvalid_date=profile_form.cleaned_data['lnvalid_date'],
                phone=profile_form.cleaned_data['phone'],
                weixin=profile_form.cleaned_data['weixin'],
                info=request.POST.getlist('info', None)[0])
            print('Profile表更新完成OK...')

            if request.POST.getlist('groups', None):
                user.groups.set(request.POST.getlist('groups'))
            else:
                user.groups.clear()
            print('用户组更新完成OK....')

        return render(request, 'user/user_modify.html', {
            "user": user,
            "groups": groups
        })
Esempio n. 5
0
def dashboard(request):
    """Personalized dashboard for authenticated users."""
    try:
        profile = request.user.get_profile()
        current_projects = profile.get_current_projects(only_public=False)
        users_following = profile.following()
        users_followers = profile.followers()
        interests = profile.tags.filter(category='interest').exclude(
            slug='').order_by('name')
        desired_topics = profile.tags.exclude(slug='').filter(
            category='desired_topic').order_by('name')
        links = Link.objects.filter(user=profile,
            project__isnull=True).order_by('index')
    except UserProfile.DoesNotExist:
        user = request.user
        username = ''
        if user.username[:10] != 'openiduser':
            username = user.username
        form = CreateProfileForm(initial={
            'full_name': ' '.join((user.first_name, user.last_name)),
            'email': user.email,
            'username': username,
        })
        messages.info(request,
            _('Please fill out your profile to finish registration.'))
        return render_to_response('dashboard/setup_profile.html', {
            'form': form,
        }, context_instance=RequestContext(request))
    show_welcome = not profile.discard_welcome
    activities = Activity.objects.dashboard(
        request.user.get_profile())
    activities = filter_activities(request, activities)
    context = {
        'profile': profile,
        'current_projects': current_projects,
        'users_following': users_following,
        'users_followers': users_followers,
        'interests': interests,
        'desired_topics': desired_topics,
        'links': links,
        'show_welcome': show_welcome,
        'domain': Site.objects.get_current().domain,
        'dashboard_url': reverse('dashboard'),
    }
    context.update(get_pagination_context(request, activities))
    return render_to_response('dashboard/dashboard.html', context,
        context_instance=RequestContext(request))
Esempio n. 6
0
def dashboard(request, page=1):
    """Personalized dashboard for authenticated users."""
    try:
        profile = request.user.get_profile()
    except UserProfile.DoesNotExist:
        user = request.user
        username = ''
        if user.username[:10] != 'openiduser':
            username = user.username
        form = CreateProfileForm(
            initial={
                'full_name': ' '.join((user.first_name, user.last_name)),
                'email': user.email,
                'username': username,
            })
        messages.info(
            request, _('Please fill out your profile to finish registration.'))
        return render_to_response('dashboard/setup_profile.html', {
            'form': form,
        },
                                  context_instance=RequestContext(request))
    current_projects = profile.get_current_projects()
    users_following = profile.following()
    users_followers = profile.followers()
    activities = Activity.objects.dashboard(request.user.get_profile())

    paginator = Paginator(activities, 25)
    try:
        current_page = paginator.page(page)
    except EmptyPage:
        raise Http404

    show_welcome = not profile.discard_welcome
    return render_to_response('dashboard/dashboard.html', {
        'current_projects': current_projects,
        'users_following': users_following,
        'users_followers': users_followers,
        'show_welcome': show_welcome,
        'paginator': paginator,
        'page_num': page,
        'next_page': int(page) + 1,
        'prev_page': int(page) - 1,
        'num_pages': paginator.num_pages,
        'page': current_page,
        'domain': Site.objects.get_current().domain,
    },
                              context_instance=RequestContext(request))
Esempio n. 7
0
def dashboard(request):
    """Personalized dashboard for authenticated users."""
    try:
        profile = request.user.get_profile()
    except UserProfile.DoesNotExist:
        user = request.user
        username = ''
        if user.username[:10] != 'openiduser':
            username = user.username
        form = CreateProfileForm(
            initial={
                'display_name': ' '.join((user.first_name, user.last_name)),
                'email': user.email,
                'username': username,
            })
        return render_to_response('dashboard/setup_profile.html', {
            'form': form,
        },
                                  context_instance=RequestContext(request))
    projects_following = profile.following(model=Project)
    users_following = profile.following()
    users_followers = profile.followers()
    project_ids = [p.pk for p in projects_following]
    user_ids = [u.pk for u in users_following]
    activities = Activity.objects.select_related(
        'actor', 'status', 'project', 'remote_object', 'remote_object__link',
        'target_project').filter(
            Q(actor__exact=profile) | Q(actor__in=user_ids)
            | Q(project__in=project_ids), ).exclude(
                Q(verb='http://activitystrea.ms/schema/1.0/follow'),
                Q(target_user__isnull=True),
                Q(project__in=project_ids),
            ).exclude(
                Q(verb='http://activitystrea.ms/schema/1.0/follow'),
                Q(actor=profile),
            ).order_by('-created_on')[0:25]
    user_projects = Project.objects.filter(created_by=profile)
    show_welcome = not profile.discard_welcome
    return render_to_response('dashboard/dashboard.html', {
        'users_following': users_following,
        'users_followers': users_followers,
        'projects_following': projects_following,
        'activities': activities,
        'projects': user_projects,
        'show_welcome': show_welcome,
    },
                              context_instance=RequestContext(request))
Esempio n. 8
0
def dashboard(request):
    """Personalized dashboard for authenticated users."""
    try:
        profile = request.user.get_profile()
    except UserProfile.DoesNotExist:
        user = request.user
        username = ''
        if user.username[:10] != 'openiduser':
            username = user.username
        form = CreateProfileForm(
            initial={
                'full_name': ' '.join((user.first_name, user.last_name)),
                'email': user.email,
                'username': username,
            })
        return render_to_response('dashboard/setup_profile.html', {
            'form': form,
        },
                                  context_instance=RequestContext(request))
    projects_following = profile.following(model=Project)
    for project in projects_following:
        if project.created_by == profile:
            project.relation_text = _('(organizing)')
        elif project.participants().filter(user=profile).exists():
            project.relation_text = _('(participating)')
        else:
            project.relation_text = _('(following)')
    users_following = profile.following()
    users_followers = profile.followers()
    activities = Activity.objects.dashboard(request.user.get_profile())
    user_projects = Project.objects.filter(created_by=profile)
    show_welcome = not profile.discard_welcome
    return render_to_response('dashboard/dashboard.html', {
        'users_following': users_following,
        'users_followers': users_followers,
        'projects_following': projects_following,
        'activities': activities,
        'projects': user_projects,
        'show_welcome': show_welcome,
    },
                              context_instance=RequestContext(request))