Exemplo n.º 1
0
def join(request, code):
    """ 
        TODO: After registring a user invitation should be disable.
    """
    if not check_invitation(code):
        messages.error(request, 'Your personal URL is incorrect, please ask for new invitation or provide proper url')
        return redirect('index')

    from forms import JoinForm
    if request.method == 'POST':
        form = JoinForm(request.POST) 
        if form.is_valid():
            profile=Profile(first_name=form.cleaned_data['first_name'],
                            last_name=form.cleaned_data['last_name'],
                            unit=form.cleaned_data['unit'],
                            email=form.cleaned_data['email'],
                            key=generate_key())
            profile.save()
            keywords = __to_keywords(form.cleaned_data['keywords'])
            profile.keywords.clear();
            for k in keywords:
                profile.keywords.add(k)
            profile.save()

            return redirect('homepage', code=profile.key 
                            )
    else:
        form = JoinForm(initial={'key':code}) 
    
    return render_to_response('researchers/join.html', {
                              'form': form,
                              'key':code,  # invitation code
                              },context_instance=RequestContext(request))
    
    return render_to_response('researchers/join.html', {'form':form}, context_instance=RequestContext(request))
Exemplo n.º 2
0
def update(request, code):
    profile = check_profile(code)
    if not profile:
        messages.error(request, 'Your personal URL is incorrect, please reset your account or provide proper url')
        return redirect('index', m='Your invitation URL is not valid')

    from forms import JoinForm

    if request.method == 'POST':
        form=JoinForm(request.POST)
        if form.is_valid():
            profile.first_name=form.cleaned_data['first_name']
            profile.last_name=form.cleaned_data['last_name']
            profile.unit=form.cleaned_data['unit']
            profile.email=form.cleaned_data['email']
            profile.save()
            keywords = __to_keywords(form.cleaned_data['keywords'])
            profile.keywords.clear();
            for k in keywords:
                profile.keywords.add(k)
            profile.save()
            messages.info(request, 'Your profile has been updated')
            return redirect(homepage, code=code)

    keywords=profile.summary()
    form=JoinForm(initial={
              'first_name':profile.first_name,
              'last_name':profile.last_name,                  
              'unit':profile.unit,
              'email':profile.email,
              'key':code,
              'keywords':keywords})
    return render_to_response('researchers/update.html', {'profile':profile, 'form':form,
                                                            'key':code}, 
                              context_instance=RequestContext(request))
Exemplo n.º 3
0
def home(request):
	try:
		refer_id = request.session['ref']
		obj = Join.objects.get(id=refer_id)
	except:
		obj = None
	
	# print obj

	if request.method == 'POST':
		form = JoinForm(request.POST)
		if form.is_valid():
			new_join = form.save(commit=False)
			new_join.ip_address = get_ip(request)
			new_join.ref_id = get_ref_id(request)
			if not obj == None:
				new_join.friend = obj
				# Every joined will be has an obj as a friend.
			new_join.save()

			return HttpResponseRedirect('/%s'% (new_join.ref_id))
	else:
		form = JoinForm()

	context = {'form':form}
	template = 'home.html'
	return render(request, template, context)
Exemplo n.º 4
0
def join_project(request, project_author, project_pk):
    user = request.user
    project = get_object_or_404(Project, pk=project_pk)

    if project.wont_be_completed:
        return oops("This project won't be completed: you can't join it.")

    if request.method == "POST":
        form = JoinForm(request.POST)
        role = form.cleaned_data["role"]
        if form.is_valid():
            project.add_interested_user(user, role)

            project_notification(
                project,
                user,
                "Clusterify -- user wants to join project",
                render_to_string(
                    "projects/emails/author_approve_join.txt",
                    {"project": project, "role": role, "joining_user": user, "site_url": get_full_url()},
                ),
                True,
            )
        else:
            user.message_set.create(
                message="Something was wrong with your form. Please note that your role description may not be longer than 120 characters. "
                % role
            )

    return HttpResponseRedirect(project.get_absolute_url())
Exemplo n.º 5
0
def update_role(request, project_author, project_pk):
	user = request.user
	project = get_object_or_404(Project, pk=project_pk)
	membership = get_object_or_404(Membership, project=project, user=user)
	
	if request.method == 'POST':
		form = JoinForm(request.POST)
		
		if form.is_valid():
			role = form.cleaned_data['role']
			
			membership.role = role
			membership.save()
		else:
			user.message_set.create(message="Something was wrong with your form. Please note that your role description may not be longer than 120 characters. Here's the text you entered: %s" % role)
	
	return HttpResponseRedirect(project.get_absolute_url())
Exemplo n.º 6
0
def update(request, code):
    profile = check_profile(code)
    if not profile:
        messages.error(
            request,
            'Your personal URL is incorrect, please reset your account or provide proper url'
        )
        return redirect('index', m='Your invitation URL is not valid')

    from forms import JoinForm

    if request.method == 'POST':
        form = JoinForm(request.POST)
        if form.is_valid():
            profile.first_name = form.cleaned_data['first_name']
            profile.last_name = form.cleaned_data['last_name']
            profile.unit = form.cleaned_data['unit']
            profile.email = form.cleaned_data['email']
            profile.save()
            keywords = __to_keywords(form.cleaned_data['keywords'])
            profile.keywords.clear()
            for k in keywords:
                profile.keywords.add(k)
            profile.save()
            messages.info(request, 'Your profile has been updated')
            return redirect(homepage, code=code)

    keywords = profile.summary()
    form = JoinForm(
        initial={
            'first_name': profile.first_name,
            'last_name': profile.last_name,
            'unit': profile.unit,
            'email': profile.email,
            'key': code,
            'keywords': keywords
        })
    return render_to_response('researchers/update.html', {
        'profile': profile,
        'form': form,
        'key': code
    },
                              context_instance=RequestContext(request))
Exemplo n.º 7
0
def join(request, code):
    """ 
        TODO: After registring a user invitation should be disable.
    """
    if not check_invitation(code):
        messages.error(
            request,
            'Your personal URL is incorrect, please ask for new invitation or provide proper url'
        )
        return redirect('index')

    from forms import JoinForm
    if request.method == 'POST':
        form = JoinForm(request.POST)
        if form.is_valid():
            profile = Profile(first_name=form.cleaned_data['first_name'],
                              last_name=form.cleaned_data['last_name'],
                              unit=form.cleaned_data['unit'],
                              email=form.cleaned_data['email'],
                              key=generate_key())
            profile.save()
            keywords = __to_keywords(form.cleaned_data['keywords'])
            profile.keywords.clear()
            for k in keywords:
                profile.keywords.add(k)
            profile.save()

            return redirect('homepage', code=profile.key)
    else:
        form = JoinForm(initial={'key': code})

    return render_to_response(
        'researchers/join.html',
        {
            'form': form,
            'key': code,  # invitation code
        },
        context_instance=RequestContext(request))

    return render_to_response('researchers/join.html', {'form': form},
                              context_instance=RequestContext(request))
Exemplo n.º 8
0
def join(request):

    valid = False

    if request.method == "POST":

        form = JoinForm(request.POST)

        if form.is_valid():

            email = form.cleaned_data["email"]
            first_name = form.cleaned_data["first_name"]
            last_name = form.cleaned_data["last_name"]
            university = form.cleaned_data["university"]
            degree_subject = form.cleaned_data["degree_subject"]
            graduation_year = form.cleaned_data["graduation_year"]

            subject = "%s %s has requested to join Founder School"
            subject = subject % (first_name, last_name)
            message = """%s %s has requested to join Founder School\n
\n
Email: %s\n
University: %s\n
Degree subject: %s\n
Graduation year: %s
"""
            message = message % (first_name, last_name, email, university, degree_subject, graduation_year)

            from_email = "*****@*****.**"
            recipient_list = settings.REQUEST_TO_JOIN_EMAILS

            send_mail(subject, message, from_email, recipient_list, fail_silently=False)

            valid = True

    else:
        form = JoinForm()

    return render(request, "join.html", {"form": form, "valid": valid})