Esempio n. 1
0
def new_model_field_form(request, field_type, model_id):
    if field_type not in FIELD_FORMS:
        raise Http404
    model = get_object_or_404(Model,
                              application__project__owner=request.user,
                              pk=model_id)
    context = {}
    prefix = "%s_%d" % (field_type, model.id)
    if request.method == 'POST':
        form = FIELD_FORMS[field_type](model, request.POST, prefix=prefix)
        if form.is_valid():
            new_field = form.save()
            model_field = model.model_fields.create(object=new_field)
            prefix = "%s_%d" % (field_type, model_field.id)
            form = FIELD_FORMS[field_type](model,
                                           instance=new_field,
                                           prefix=prefix)
            context = {'field_form': form, 'model_field': model_field}
            return render_response(request, 'field_form.html', context)
    else:
        form = FIELD_FORMS[field_type](model, prefix=prefix)
    context = {
        'new_field_form': form,
        'model': model,
        'field_type': field_type
    }
    return render_response(request, 'new_field_form.html', context)
Esempio n. 2
0
def project_view(request, project_id):
    """
    - return project corresponding to project_id
    - handle project modification form submition
    - raise 404 if project is not found or project doesn't belong to the current user
    """
    if request.user.is_superuser:
        project = get_object_or_404(Project, pk=project_id)
    else:
        project = get_object_or_404(Project, owner=request.user, pk=project_id)
    if request.method == "POST":
        form = ProjectForm(request.POST, instance=project)
        if form.is_valid():
            form.save()
    else:
        form = ProjectForm(instance=project)

    context = {
        'project':
        project,
        'new_application_form':
        NewApplicationForm({'project_id': project.id},
                           prefix='new_application'),
        'project_form':
        form
    }
    return render_response(request, 'project/project_view.html', context)
Esempio n. 3
0
def picture_view(request, picture_id):
    """
    Show the picture # picture_id if is_visible is True, overwise raise HTTP404 exception.
    """
    picture = get_object_or_404(Picture, pk=picture_id, is_visible=True)
    context = {"picture": picture, "current": "photos"}
    return render_response(request, "picture/picture_view.html", context)
Esempio n. 4
0
def model_form_view(request, model_form_id):
    model_form = get_object_or_404(
        ModelForm,
        model__application__project__owner=request.user,
        pk=model_form_id)
    return render_response(request, 'model_form_view.html',
                           {'model_form': model_form})
Esempio n. 5
0
def contact_requests_view(request):
    """
    show a list of request
    """
    context = {'current':'contacts',
               'contact_requests': request.user.contact_requests_received.all() }
    return render_response(request, 'contact/contact_requests.html', context)
Esempio n. 6
0
def product_list_view(request):
    filter ={}
    url_parameters = []
    if request.GET:
        if request.GET.get('category'):
            filter['category__ref__iexact'] = request.GET['category']
            url_parameters.append('category=%s' % request.GET['category'])
        if request.GET.get('filter'):
            filter['item_number__icontains'] = request.GET.get('filter','').strip()
            url_parameters.append('filter=%s' % request.GET['filter'])
    products = Product.objects.filter(**filter)
    # if only one result, display the detail page directly
    if len(products) == 1:
        return HttpResponseRedirect(reverse('view_product', args=[products[0].item_number]))
    results = products.count()
    products = paginate(products, request)
    
    categories = Category.objects.all()

    context = {'products': products, 
               'filter': request.GET.get('filter',''),
               'category': request.GET.get('category',''), 
               'url_parameters': '&'.join(url_parameters),
               'results': results,
               'categories': categories}
    context.update(filter)
    return render_response(request,'product/products.html', context)
Esempio n. 7
0
def model_form_form(request, model_form_id):
    """
    Allow update of a given ModelForm. 
    Current user must own the destination model.
    """
    model_form = get_object_or_404(
        ModelForm,
        pk=model_form_id,
        model__application__project__owner=request.user)
    context = {}
    prefix = "modelform_%d" % model_form.id
    if request.method == 'POST':
        form = ModelFormForm(model_form.model,
                             request.POST,
                             instance=model_form,
                             prefix=prefix)
        if form.is_valid():
            model_form = form.save()
            form = ModelFormForm(model_form.model,
                                 request.POST,
                                 instance=model_form,
                                 prefix=prefix)
            context['saved'] = True
    else:
        form = ModelFormForm(model_form.model,
                             instance=model_form,
                             prefix=prefix)
    context.update({'model_form_form': form, 'model_form': model_form})
    return render_response(request, 'model_form_form.html', context)
Esempio n. 8
0
def login_view(request, template_name="profile/login.html", redirect_field_name=REDIRECT_FIELD_NAME):
    context = {}
    redirect_to = request.REQUEST.get(redirect_field_name, "")
    if request.user.is_authenticated():
        return HttpResponseRedirect("/")
    if request.method == "POST":
        form = LoginForm(data=request.POST)
        if form.is_valid():
            # Light security check -- make sure redirect_to isn't garbage.
            if not redirect_to or "//" in redirect_to or " " in redirect_to:
                redirect_to = settings.LOGIN_REDIRECT_URL
            login(request, form.get_user())
            if request.session.test_cookie_worked():
                request.session.delete_test_cookie()
            return HttpResponseRedirect(redirect_to)
    else:
        form = LoginForm(request)
    request.session.set_test_cookie()
    if Site._meta.installed:
        current_site = Site.objects.get_current()
    else:
        current_site = RequestSite(request)
    return render_response(
        request,
        template_name,
        {
            "login_form": form,
            "register_form": RegisterForm(),
            redirect_field_name: redirect_to,
            "site": current_site,
            "site_name": current_site.name,
        },
    )
Esempio n. 9
0
def register_view(request, template_name='registration.html'):
    """
    Form that send registration email to user
    """
    context = {}
    if request.method == "POST":
        form = RegisterForm(request.POST)
        if form.is_valid():
            registration = form.save()
            context['registration'] = registration
            context['email_to'] = registration.email
            text_content = render_string(request,
                                         'email/registration.txt',
                                         context)
            send_mail('Your Registration is done',
                      text_content,
                      DEFAULT_EMAIL_FROM,
                      [registration.email, ])
            return HttpResponseRedirect(reverse('registration_sent'))
        else:
            # form is invalid
            context['register_form'] = form
    else:
        # no post, user just arrived
        context['register_form'] = RegisterForm()
    return render_response(request, template_name, context)
Esempio n. 10
0
def new_model_form_form(request, model_id):
    """
    Create a new ModelForm if the form is valid, otherwise display the
    initial form.
    Current user must own the destination model.
    If a new ModelForm is created, the template will use ajax to render it 
    and append it to the FormList.
    """
    model = get_object_or_404(Model, pk=model_id, application__project__owner=request.user)
    context = {}
    prefix = "new_modelform_%d" % model.id
    if request.method == 'POST':
        form = NewModelFormForm(model, request.POST, prefix=prefix)
        if form.is_valid():
            model_form = form.save(commit=False)
            model_form.model = model
            model_form.save()
            form = NewModelFormForm(model, prefix=prefix)
            context.update({'created': True,
                            'model_form': model_form})
    else:
       form = NewModelFormForm(model, request.POST, prefix=prefix)
    context.update({ 'new_model_form_form': form,
                     'model': model})
    return render_response(request, 'new_model_form_form.html', context)
Esempio n. 11
0
def new_model_form_form(request, model_id):
    """
    Create a new ModelForm if the form is valid, otherwise display the
    initial form.
    Current user must own the destination model.
    If a new ModelForm is created, the template will use ajax to render it 
    and append it to the FormList.
    """
    model = get_object_or_404(Model,
                              pk=model_id,
                              application__project__owner=request.user)
    context = {}
    prefix = "new_modelform_%d" % model.id
    if request.method == 'POST':
        form = NewModelFormForm(model, request.POST, prefix=prefix)
        if form.is_valid():
            model_form = form.save(commit=False)
            model_form.model = model
            model_form.save()
            form = NewModelFormForm(model, prefix=prefix)
            context.update({'created': True, 'model_form': model_form})
    else:
        form = NewModelFormForm(model, request.POST, prefix=prefix)
    context.update({'new_model_form_form': form, 'model': model})
    return render_response(request, 'new_model_form_form.html', context)
Esempio n. 12
0
def new_model_form(request, application_id):
    """
    Create a new model inside an application.
    return 404 if 
    """
    application = get_object_or_404(Application,
                                    project__owner=request.user,
                                    pk=application_id)
    context = {}
    if request.method == 'POST':
        form = NewModelForm(request.POST,
                            application=application,
                            prefix="new_model_%d" % application.id)
        if form.is_valid():
            context['created'] = True
            new_model = form.save(commit=False)
            new_model.application = application
            new_model.save()
            context['model'] = new_model
            form = NewModelForm(application=application,
                                prefix="new_model_%d" % application.id)
    else:
        form = NewModelForm(application=application,
                            prefix="new_model_%d" % application.id)
    context.update({'new_model_form': form, 'application': application})
    return render_response(request, 'new_model_form.html', context)
Esempio n. 13
0
def project_detail_view(request,id):
    context = {'current':'projects'}
    user = request.user
    project = Project.objects.get_for_user(user=request.user, id=int(id))

    if request.POST:
        form = ProjectForm(instance=project, data=request.POST)
        if form.is_valid():
            form.save()
            context['project_saved'] = True
        context['form'] = form
    else:
        context['form'] = ProjectForm(instance=project)

    context['project'] = project
    context['spectators'] = project.spectators.all().select_related()
    context['owners'] = project.owners.all().select_related()
    context['collaborators'] = project.collaborators.all().select_related()
    context['new_spectators'] = User.objects.filter(profile__contacts__user=request.user).exclude(projects_as_spectator = project).select_related()
    context['new_collaborators'] = User.objects.filter(profile__contacts__user=request.user).exclude(projects_as_collaborator = project).select_related()
    context['is_creator'] = project.is_creator(request.user)
    context['is_admin'] = project.is_admin(request.user)
    context['new_owners'] = User.objects.filter(profile__contacts__user=request.user).exclude(owned_projects = project).select_related()
    context['new_task_form'] = NewTaskForm()
    context['goal_form'] = GoalForm()
    return render_response(request, 'project/project_detail_view.html', context)
Esempio n. 14
0
def owner_form(request, project_id):
    project = Project.objects.get_for_user(user=request.user, id=int(project_id))
    if project.is_creator(request.user):
        context = {'project': project}
        context['owners'] = project.owners.all().select_related()
        context['new_owners'] = User.objects.filter(profile__contacts__user=request.user).exclude(owned_projects = project).select_related()
        return render_response(request, 'project/owner_form.html', context)
    raise Http404
Esempio n. 15
0
def last_week_time_records_view(request):
    kw_filter = {'start_date__gte': date.today() - timedelta(days=7)}
    time_records = paginate(TimeRecord.objects.get_time_records(request).filter(**kw_filter), 
                            int(request.GET.get('page', '1')))
    context = {'current':'times',
               'content_title': _('Last week times records'),
               'time_records': time_records}
    return render_response(request,'timer/time_records.html', context)
Esempio n. 16
0
def collaborator_form(request, project_id):
    project = Project.objects.get_for_user(user=request.user, id=int(project_id))
    if project.is_admin(request.user):
        context = {'project': project}
        context['collaborators'] = project.collaborators.all().select_related()
        context['new_collaborators'] = User.objects.filter(profile__contacts__user=request.user).exclude(projects_as_collaborator = project).select_related()
        return render_response(request, 'project/collaborator_form.html', context)
    raise Http404
Esempio n. 17
0
def pictures_view(request):
    """
    show a list of picture
    """
    pictures = Picture.objects.filter(is_visible=True).order_by("-creation_date")
    pictures = paginate(pictures, request)
    context = {"pictures": pictures, "current": "photos"}
    return render_response(request, "picture/pictures_view.html", context)
Esempio n. 18
0
def time_records_view(request):
    time_records = paginate(TimeRecord.objects.get_time_records(request), 
                            int(request.GET.get('page', '1')))

    context = {'current':'times',
               'content_title': _('All times records'),
               'time_records': time_records}
    return render_response(request,'timer/time_records.html', context)
Esempio n. 19
0
def tips_view(request):
    """
    show a list of picture
    """
    tips = Tip.objects.filter(is_visible=True).order_by("-creation_date")
    tips = paginate(tips, request, 3)
    context = {'tips': tips,
               'current':'tips'}
    return render_response(request, 'tip/tips_view.html', context)
Esempio n. 20
0
def login_view(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            user = authenticate(username=form.cleaned_data['username'], password=form.cleaned_data['password'])
            if user is not None:
                if user.is_active:
                    login(request, user)
                    return redirect('/tracker')
                else:
                    return render_response(request, 'core/login.html', {'form' : form, 'error' : 'Account not active'})
            else:
                return render_response(request, 'core/login.html', {'form' : form, 'error' : 'Username or password was incorrect'})
        else:
            return render_response(request, 'core/login.html', {'form' : form, 'error' : 'Form not valid'})
    else:
        form = LoginForm()
        return render_response(request, 'core/login.html', {'form' : form})
Esempio n. 21
0
def public_project_list(request):
    """
    return public projects list
    The result list is paginated
    """
    context = {}
    projects = Project.objects.filter(public=True).order_by("-creation_date")
    context['projects'] = paginate(projects, request)
    return render_response(request, 'project/public_project_list.html', context) 
Esempio n. 22
0
def register_confirm(request, key, template_name='create_account.html'):
    """
    Account creation from email link.
    if the key is wrong the user is redirected to the login view.
    """
    registration = Registration.objects.filter(key=key)

    if not registration:
        return HttpResponseRedirect(reverse('login_view'))

    if request.user.is_authenticated():
        logout(request)

    registration = registration[0]

    # check that user does not already exist with this email
    if User.objects.filter(email__iexact=registration.email):
        Registration.objects.filter(email__iexact=registration.email).delete()
        return HttpResponseRedirect(reverse('login_view'))
    context = {'registration': registration}

    if request.method == "POST":
        form = SetPasswordFormWithAgreementCopyTimeRecord(request.POST)
        if form.is_valid():
            time_records = TimeRecord.objects.get_time_records(request)
            password = form.cleaned_data['password2']
            user = User.objects.create_user(sha_constructor(str(registration.email)).hexdigest()[:30], 
                                            registration.email, 
                                            password)
            profile = Profile.objects.create(user=user)
            user = authenticate(username=user.username, password=password)

            if form.cleaned_data['backup_time_records']:
                for time_record in time_records:
                    time_record.user = user
                    time_record.save()

            login(request, user)
            context['email_to'] = registration.email
            context['password'] = password
            text_content = render_string(request,
                                         'email/welcome.txt',
                                         context)
            send_mail('Welcome',
                      text_content,
                      DEFAULT_EMAIL_FROM,
                      [user.email, ])
            Registration.objects.filter(email__iexact=registration.email).delete()
            request.session['first_login'] = True
            return HttpResponseRedirect(reverse('thank_you_for_registering'))
        else:
            context['password_form'] = form
    else:
        context['password_form'] = SetPasswordFormWithAgreementCopyTimeRecord()

    return render_response(request, template_name, context)
Esempio n. 23
0
def public_project_list(request):
    """
    return public projects list
    The result list is paginated
    """
    context = {}
    projects = Project.objects.filter(public=True).order_by("-creation_date")
    context['projects'] = paginate(projects, request)
    return render_response(request, 'project/public_project_list.html',
                           context)
Esempio n. 24
0
def public_project_view(request, project_id):
    """
    - return project corresponding to project_id
    - raise 404 if project is not found or is not public
    """
    if request.user.is_superuser:
        project = get_object_or_404(Project, pk=project_id)
    else:
        project = get_object_or_404(Project, public=True, pk=project_id)
    
    context = {'project': project}
    return render_response(request, 'project/public_project_view.html', context)
Esempio n. 25
0
def new_model_field_form(request, field_type, model_id):
    if field_type not in FIELD_FORMS:
        raise Http404
    model = get_object_or_404(Model, application__project__owner=request.user, pk=model_id)
    context = {}
    prefix = "%s_%d" % (field_type,model.id)
    if request.method == 'POST':
        form = FIELD_FORMS[field_type](model, request.POST, prefix=prefix)
        if form.is_valid():
            new_field = form.save()
            model_field = model.model_fields.create(object=new_field)
            form = FIELD_FORMS[field_type](model, instance=new_field, prefix=prefix)
            context = { 'field_form':form, 
                        'model_field': model_field}
            return render_response(request, 'field_form.html', context)
    else:
        form = FIELD_FORMS[field_type](model, prefix=prefix)
    context = { 'new_field_form':form, 
                'model':model, 
                'field_type':field_type }
    return render_response(request, 'new_field_form.html', context)
Esempio n. 26
0
def contact_detail(request, contact_id):
    if int(contact_id) == request.user.get_profile().id:
        contact = request.user.get_profile()
    else:
        if request.user.is_staff:
            contact = get_object_or_404(Profile, id=contact_id)
        else:
            contact = get_object_or_404(Profile, id=contact_id, contacts__user=request.user)
    context = {'current':'contacts',
               'time_records': contact.user.time_records.order_by('-stop_date')[:5],
               'projects': Project.objects.for_user(contact.user),
               'contact': contact }
    return render_response(request, 'contact/contact_detail.html', context)
Esempio n. 27
0
def tip_view(request, tip_id):
    """
    show a list of picture
    """
    kwargs = {'pk': tip_id}
    # does not allow visitor to see not visible tip
    # this trick allow staff to preview tips they wrote
    if not request.user.is_staff:
        kwargs['is_visible'] = True
    tip = get_object_or_404(Tip,**kwargs)
    context = {'tip': tip,
               'current':'tips'}
    return render_response(request, 'tip/tip_view.html', context)
Esempio n. 28
0
def model_form(request, model_id):
    model = get_object_or_404(Model, application__project__owner=request.user, pk=model_id)
    context = {}
    if request.method == 'POST':
        model_form = ModelForm(request.POST, instance=model, prefix="model_%d_" % model.id)
        if model_form.is_valid():
            model = model_form.save()
            context['saved'] = True
            model_form = ModelForm(instance=model, prefix="model_%d_" % model.id)
        context.update({'model_form': model_form,
                        'model': model})
        return render_response(request, 'model_form.html', context)
    raise Http404
Esempio n. 29
0
def public_project_view(request, project_id):
    """
    - return project corresponding to project_id
    - raise 404 if project is not found or is not public
    """
    if request.user.is_superuser:
        project = get_object_or_404(Project, pk=project_id)
    else:
        project = get_object_or_404(Project, public=True, pk=project_id)

    context = {'project': project}
    return render_response(request, 'project/public_project_view.html',
                           context)
Esempio n. 30
0
def homepage(request):
    """
    Display some featured articles, most recent article 
    and some tips.
    """
    featured = FeaturedArticle.objects.filter(is_visible=True).order_by('?')
    if len(featured):
        featured = featured[0]
        
    articles = Article.objects.filter(is_visible=True).select_related().order_by('-creation_date')[:4]
    context = {'current': 'home',
               'featured': featured,
               'articles': articles}
    return render_response(request, 'homepage.html', context)
Esempio n. 31
0
def application_form(request, application_id):
    application = get_object_or_404(Application, project__owner=request.user, pk=application_id)
    context = {}
    if request.method == "POST":
        form = ApplicationForm(application.project, request.POST, instance=application, prefix='app_%d_' % application.id)
        if form.is_valid():
            application = form.save()
            context['saved'] = True
            form = ApplicationForm(application.project, instance=application, prefix='app_%d_' % application.id)
    else:
        form = ApplicationForm(application.project, instance=application, prefix='app_%d_' % application.id)
    context.update({'application_form': form,
                    'application': application})
    return render_response(request, 'application_form.html', context)
Esempio n. 32
0
def register_confirm(request, key):
    """
    Account creation from email link.
    """
    registration = Registration.objects.filter(key=key)

    if not registration:
        return HttpResponseRedirect(reverse("login_view"))

    if request.user.is_authenticated():
        logout(request)

    registration = registration[0]

    # check that user does not already exist with this email
    if User.objects.filter(email__iexact=registration.email):
        Registration.objects.filter(email__iexact=registration.email).delete()
        return HttpResponseRedirect(reverse("login_view"))
    context = {"registration": registration}

    if request.method == "POST":
        form = SetPasswordFormWithAgreementCopyTimeRecord(request.POST)
        if form.is_valid():
            time_records = TimeRecord.objects.get_time_records(request)
            password = form.cleaned_data["password2"]
            user = User.objects.create_user(
                sha_constructor(str(registration.email)).hexdigest()[:30], registration.email, password
            )
            profile = Profile.objects.create(user=user)
            user = authenticate(username=user.username, password=password)

            if form.cleaned_data["backup_time_records"]:
                for time_record in time_records:
                    time_record.user = user
                    time_record.save()

            login(request, user)
            context["email_to"] = registration.email
            context["password"] = password
            text_content = render_string(request, "email/welcome.txt", context)
            send_mail("Welcome to kaaloo", text_content, settings.DEFAULT_EMAIL_FROM, [user.email])
            Registration.objects.filter(email__iexact=registration.email).delete()
            return HttpResponseRedirect(reverse("thank_you_for_registering"))
        else:
            context["password_form"] = form
    else:
        context["password_form"] = SetPasswordFormWithAgreementCopyTimeRecord()

    return render_response(request, "profile/create_account.html", context)
Esempio n. 33
0
def model_field_form(request, field_type, model_field_id):
    model_field = get_object_or_404(ModelField, model__application__project__owner=request.user, pk=model_field_id)
    context = {}
    prefix = "%s_%d" % (model_field.object.field_type,model_field.id)
    if request.method == 'POST':
        form = FIELD_FORMS[model_field.object.field_type](model_field.model, request.POST, prefix=prefix, instance=model_field.object)
        if form.is_valid():
            field = form.save()
            form = FIELD_FORMS[model_field.object.field_type](model_field.model, instance=model_field.object, prefix=prefix)
            context['saved'] = True
    else:
        form = FIELD_FORMS[model_field.object.field_type](model_field.model, instance=model_field.object, prefix=prefix)
    context.update({'field_form':form, 
                    'model_field':model_field})
    return render_response(request, 'field_form.html', context)
Esempio n. 34
0
def add_project_view(request):
    context = {'current':'projects'}
    if request.method == "POST":
        form = NewProjectForm(data=request.POST)
        if form.is_valid():
            project = form.save(commit=False)
            project.creator = request.user
            project.save()
            project.owners = [request.user]
            return HttpResponseRedirect(reverse('project_detail_view', args=[project.id]))
        else:
            context['form'] = form
    else:
        context['form'] = NewProjectForm()
    return render_response(request, 'project/add_project.html', context)
Esempio n. 35
0
def buy_sucess(request, presentation_id, zone_id):
    presentation = get_object_or_404(Presentation, id=presentation_id)
    zone = get_object_or_404(Zone, id=zone_id)

    extra_context = {
            'event': presentation.event,
            'presentation': presentation,
            'zone': zone,
            }

    return render_response(
            request,
            'ticket/buy_sucess.html',
            extra_context
            )
Esempio n. 36
0
def password_view(request):
    """
    Allow user to change his password by entering his old one
    """
    profile = request.user.get_profile()
    context = {"current": "account"}
    if request.method == "POST":
        password_form = PasswordChangeForm(user=request.user, data=request.POST)
        if password_form.is_valid():
            password_form.save()
            context["password_saved"] = True
    else:
        password_form = PasswordChangeForm(user=request.user)
    context.update({"password_form": password_form})
    return render_response(request, "profile/password.html", context)
Esempio n. 37
0
def invite_confirm_view(request, key):
    """
    Create an account for the user.
    """
    """
    Account creation from email link.
    """
    invites = InviteRequest.objects.filter(key=key)

    if not invites:
        return HttpResponseRedirect(reverse('login_view'))

    invite = invites[0]

    # check that user does not already exist with this email
    if User.objects.filter(email__iexact=invite.to_email):
        return HttpResponseRedirect(reverse('login_view'))

    context = {}
    if request.method == "POST":
        form = SetPasswordForm(request.POST)
        if form.is_valid():
            password = form.cleaned_data['password2']
            user = User.objects.create_user(sha_constructor(str(invite.to_email)).hexdigest()[:30], invite.to_email, password)
            profile = Profile.objects.create(user=user)
            user = authenticate(username=user.username, password=password)
            login(request, user)
            context['email_to'] = user.email
            context['password'] = password
            text_content = render_string(request,
                                         'email/welcome.txt',
                                         context)
            send_mail('Welcome to kaaloo',
                      text_content,
                      settings.DEFAULT_EMAIL_FROM,
                      [user.email, ])
            
            # transform all invites in friend request
            invites = InviteRequest.objects.filter(to_email__iexact = user.email)
            for invite in invites:
                ContactRequest.objects.create(from_user=invite.from_user, to_user=user)
            invites.delete()
            return HttpResponseRedirect(reverse('contact_requests_view'))
        else:
            context['password_form'] = form
    else:
        context['password_form'] = SetPasswordForm()
    return render_response(request, 'profile/create_account.html', context)
Esempio n. 38
0
def new_application_form(request, project_id):
    project = get_object_or_404(Project, owner=request.user, pk=project_id)
    context = {}
    if request.method == 'POST':
        form = NewApplicationForm(project, request.POST, prefix="new_application_")
        if form.is_valid():
            context['created'] = True
            new_application = form.save(commit=False)
            new_application.project = project
            new_application.save()
            context['application'] = new_application
            form = NewApplicationForm(project, prefix="new_application_")
    else:
        form = NewApplicationForm(project, prefix="new_application_")
    context.update({'new_application_form': form, 'project': project})
    return render_response(request, 'new_application_form.html', context)
Esempio n. 39
0
def model_form(request, model_id):
    model = get_object_or_404(Model,
                              application__project__owner=request.user,
                              pk=model_id)
    context = {}
    if request.method == 'POST':
        model_form = ModelForm(request.POST,
                               instance=model,
                               prefix="model_%d_" % model.id)
        if model_form.is_valid():
            model = model_form.save()
            context['saved'] = True
            model_form = ModelForm(instance=model,
                                   prefix="model_%d_" % model.id)
        context.update({'model_form': model_form, 'model': model})
        return render_response(request, 'model_form.html', context)
    raise Http404
Esempio n. 40
0
def new_application_form(request, project_id):
    project = get_object_or_404(Project, owner=request.user, pk=project_id)
    context = {}
    if request.method == 'POST':
        form = NewApplicationForm(project,
                                  request.POST,
                                  prefix="new_application_")
        if form.is_valid():
            context['created'] = True
            new_application = form.save(commit=False)
            new_application.project = project
            new_application.save()
            context['application'] = new_application
            form = NewApplicationForm(project, prefix="new_application_")
    else:
        form = NewApplicationForm(project, prefix="new_application_")
    context.update({'new_application_form': form, 'project': project})
    return render_response(request, 'new_application_form.html', context)
Esempio n. 41
0
def project_list(request):
    """
    return projects own by the current user.
    The result list is paginated
    """
    context = {}
    projects = Project.objects.filter(
        owner=request.user).order_by("-creation_date")
    if request.method == "POST":
        form = NewProjectForm(request.POST, owner=request.user)
        if form.is_valid():
            new_project = form.save(commit=False)
            new_project.owner = request.user
            new_project.save()
    else:
        form = NewProjectForm(owner=request.user)
    context['projects'] = paginate(projects, request)
    context['new_project_form'] = form
    return render_response(request, 'project/project_list.html', context)
Esempio n. 42
0
def application_form(request, application_id):
    application = get_object_or_404(Application,
                                    project__owner=request.user,
                                    pk=application_id)
    context = {}
    if request.method == "POST":
        form = ApplicationForm(application.project,
                               request.POST,
                               instance=application,
                               prefix='app_%d_' % application.id)
        if form.is_valid():
            application = form.save()
            context['saved'] = True
            form = ApplicationForm(application.project,
                                   instance=application,
                                   prefix='app_%d_' % application.id)
    else:
        form = ApplicationForm(application.project,
                               instance=application,
                               prefix='app_%d_' % application.id)
    context.update({'application_form': form, 'application': application})
    return render_response(request, 'application_form.html', context)
Esempio n. 43
0
def model_field_form(request, field_type, model_field_id):
    model_field = get_object_or_404(
        ModelField,
        model__application__project__owner=request.user,
        pk=model_field_id)
    context = {}
    prefix = "%s_%d" % (model_field.object.field_type, model_field.id)
    if request.method == 'POST':
        form = FIELD_FORMS[model_field.object.field_type](
            model_field.model,
            request.POST,
            prefix=prefix,
            instance=model_field.object)
        if form.is_valid():
            field = form.save()
            form = FIELD_FORMS[model_field.object.field_type](
                model_field.model, instance=model_field.object, prefix=prefix)
            context['saved'] = True
    else:
        form = FIELD_FORMS[model_field.object.field_type](
            model_field.model, instance=model_field.object, prefix=prefix)
    context.update({'field_form': form, 'model_field': model_field})
    return render_response(request, 'field_form.html', context)
Esempio n. 44
0
def model_view(request, model_id):
    model = get_object_or_404(Model,
                              application__project__owner=request.user,
                              pk=model_id)
    return render_response(request, 'model_view.html', {'model': model})
Esempio n. 45
0
def application_view(request, application_id):
    application = get_object_or_404(Application,
                                    project__owner=request.user,
                                    pk=application_id)
    context = {'application': application}
    return render_response(request, 'application_view.html', context)