예제 #1
0
def projects():

    form = CreateProjectForm()
    if form.validate_on_submit():
        new_project = Project(title=form.title.data,
                              description=form.description.data,
                              url=form.url.data,
                              icon=form.icon.data)
        db.session.add(new_project)
        db.session.commit()
        return redirect(url_for('home'))

    return render_template("portfolio.html", form=form, id=1)
예제 #2
0
def create_project(request):
    """View to create a new project.
    In the past I just linked to the page in the admin, but that
    doesn't automatically create users and admins for you.
    And it may be a pain to create project memberships manually.
    
    Perhaps the Django admin is customizable enough to fix this,  
    but for now I'll just code it myself. At least this way I can make sure 
    no one (but me) makes any major errors and destroys the site
    
    First check if the user is a superuser..."""

    if not request.user.is_superuser:
        return handle_privilege(
            request, "Only the site administrator can create a new project!",
            '/')

    if request.method == 'POST':
        form = CreateProjectForm(request.POST)
        if form.is_valid():
            newproject = CollabProject()
            newproject = form.save(commit=False)
            newproject.start_date = datetime.date.today()
            newproject.save()
            form.save_m2m()
            for admin in form.cleaned_data["admins"]:
                p = ProjectMembership(person=admin,
                                      project=newproject,
                                      is_admin=True)
                p.save()
            return handle_privilege(
                request, 'The collaboration group "' + newproject.name +
                '" has been created!',
                reverse('project_summary', args=[newproject.slug]))
    else:
        form = CreateProjectForm()
    return render_to_response('project/create_project.html', {'form': form},
                              context_instance=RequestContext(request))
예제 #3
0
def project():
    project = CreateProjectForm()
    if project.validate_on_submit():
        if Project.query.filter_by(
                projectname=CreateProjectForm.projectName.data).first():
            return render_template('createProject.html', form=project)
        else:
            newproject = Project(CreateProjectForm.projectName.data,
                                 CreateProjectForm.color.data,
                                 CreateProjectForm.dueDate.data,
                                 CreateProjectForm.estimatedTime.data,
                                 CreateProjectForm.workDays.data,
                                 CreateProjectForm.priority.data)
            db.session.add(newproject)
            db.session.commit()
            return render_template('createProject.html', form=project)
    return render_template('createProject.html', form=project)
예제 #4
0
def add_project():
    user = User.get_or_none(id=session.get("user_id", None))

    form = CreateProjectForm(user=user)
    if request.method == 'POST':
        if form.validate_on_submit():
            print(form.repository.data)
            _errors = check_project_files(github_repo_ls(github, form.repository.data))
            form.repository.errors += _errors
            if not _errors:
                issue_data = {"title": form.repository.data,
                              "body": f"Please verify all aspects of [{form.repository.data}]({form.repository.data})"
                              f" according to Project Specification Guideline. Leave your comments"
                              f" and critics about the project. Feel free to contribute"
                              f" to the project repo to make it better",
                              "labels": ["New Project"]}
                org_github.create_issue("ataleek", issue_data)
                flash("Your project's repository is under review. We will add it once it is verified.")

    return render_template("add_project.html", nav=nav, form=form)
예제 #5
0
def create_project():
    user = g.user
    form = CreateProjectForm()

    if form.validate_on_submit():
        for project in Project.query.all():
            if project.name == form.name.data:
                flash('project already exists')
                return redirect(url_for('create_project'))
        app.logger.debug('form.validate_on_submit')
        project = Project(name=form.name.data,
                          start_date=form.start_date.data,
                          end_date=form.end_date.data,
                          info=form.info.data)
        print 'team: ' + form.team.data
        db.session.add(project)
        db.session.commit()
        flash('created project %s' % form.name.data)
        return redirect(url_for('projects'))

    return render_template('create_project.html',
                           title='Create Project',
                           user=user,
                           form=form)
예제 #6
0
def create_project(request):
    form = CreateProjectForm()
    if request.method == 'POST':
        title = request.POST.get("title")
        owner = request.user.username
        version = request.POST.get("version")
        client = request.POST.get("client")
        description = request.POST.get("description")
        status = "Open"
        payout = request.POST.get("payout")

        projects = Projects(title=title,
                            owner=owner,
                            version=version,
                            client=client,
                            description=description,
                            status=status,
                            payout=payout)

        if is_a_num(request.POST.get("payout")):

            if int(request.POST.get("payout")) <= int(
                    User.objects.get(username=owner).userprofile.balance):
                new_balance = int(
                    User.objects.get(
                        username=owner).userprofile.balance) - int(
                            request.POST.get("payout"))
                user = User.objects.get(username=owner)
                user.userprofile.balance = new_balance
                #update balance
                user.save()

                #add project
                projects.save()

                return HttpResponseRedirect("/projects/")

            else:

                return render(
                    request, 'BuildPythonPleaseGUI/create_project.html', {
                        "form":
                        CreateProjectForm(
                            initial={
                                "title": title,
                                "version": version,
                                "client": client,
                                "description": description,
                            }),
                        "form_error":
                        True,
                    })

        else:

            return render(
                request, 'BuildPythonPleaseGUI/create_project.html', {
                    "form":
                    CreateProjectForm(
                        initial={
                            "title": title,
                            "version": version,
                            "client": client,
                            "description": description,
                            "payout": payout
                        }),
                    "form_error":
                    True,
                })
    else:

        return render(
            request, 'BuildPythonPleaseGUI/create_project.html', {
                "form": form,
                "form_error": False,
                'notifications': notifications(request),
            })