コード例 #1
0
ファイル: views.py プロジェクト: koasys/flask_scaffold
def create_project():
    # with lock:
    # form = CreateProjectForm(request.form)
    # if request.method == 'POST' and form.validate_on_submit():
    debug_set = current_app.config["DEBUG"]
    if debug_set == True:
        print "\n\n\n==========> account->views.py -> create_project() "
        # print "=====> is_private() :", form.is_private.data

    form = CreateProjectForm()
    if form.validate_on_submit():
        new_proj = Project(
            prj_name=form.name.data,
            prj_desc=form.desc.data,
            is_private=form.is_private.data,
            owner=current_user.get_id(),
        )
        prj_id = new_proj.save()
        # Add a user as an owner of a project
        proj = Project.get_project_for_projectid(prj_id)
        print "project.is_private 2:", proj.is_private
        owner_name = current_user.firstname + " " + current_user.lastname
        proj.add_member(name=owner_name, email=current_user.get_id(), role=Project.ROLE_OWNER)
        flash("New project has been created.", category="index_page")
        # Generate a project owner's appkey & save it to ProjectMemberKey coll.
        # keygen = KeyGenerator()
        # key = keygen.getkey(settings.APPKEY_LENGTH)
        key = utils.generate_key()
        prjmemkey = ProjectMemberKey(prj_id=proj.prj_id, appkey=key, member_email=proj.owner)
        prjmemkey.save()
        return redirect(url_for(".list_projects"))

    return render_template("create_project.html", form=form)
コード例 #2
0
ファイル: views.py プロジェクト: YongHoJang/GeoTagger-Server
def create_project():
    #with lock:
    form = CreateProjectForm(request.form)
    if request.method == 'POST' and form.validate():
        new_proj = Project(prj_name=form.name.data, prj_desc=form.desc.data,
            is_private=form.is_private.data, owner=current_user.get_id())
        print 'project.is_private:', new_proj.is_private
        prj_id = new_proj.save()
        # Add a user as an owner of a project
        proj = Project.get_project_for_projectid(prj_id)
        print 'project.is_private 2:', proj.is_private
        owner_name = current_user.firstname + ' ' + current_user.lastname
        proj.add_member(name=owner_name, email=current_user.get_id(), 
            role=Project.ROLE_OWNER)
        flash("New project has been created.", category='index_page')
        # Generate a project owner's appkey & save it to ProjectMemberKey coll.
        #keygen = KeyGenerator()
        #key = keygen.getkey(APPKEY_LENGTH)
        key = utils.generate_key()
        prjmemkey = ProjectMemberKey(prj_id=proj.prj_id, appkey=key, 
            member_email=proj.owner)
        prjmemkey.save()
        return redirect(url_for('.list_projects'))

    return render_template('create_project.html', form=form)
コード例 #3
0
ファイル: views.py プロジェクト: AyushiSinha/open-connectome
def restore(request):
  if request.method == 'POST':
   
    if 'RestoreProject' in request.POST:
      form = CreateProjectForm(request.POST)
      if form.is_valid():
        token = form.cleaned_data['token']
        host = "localhost"
        project = form.cleaned_data['project']
        dataset = form.cleaned_data['dataset']
        datatype = form.cleaned_data['datatype']
        
        dataurl = "http://openconnecto.me/ocp"
        readonly = form.cleaned_data['readonly']
        exceptions = form.cleaned_data['exceptions']
        nocreate = 0
        resolution = form.cleaned_data['resolution']
        openid = request.user.username
        print "Creating a project with:"
        #       print token, host, project, dataset, dataurl,readonly, exceptions, openid
        # Get database info
        pd = ocpcaproj.OCPCAProjectsDB()
        pd.newOCPCAProj ( token, openid, host, project, datatype, dataset, dataurl, readonly, exceptions , nocreate ,resolution)
        bkupfile = request.POST.get('backupfile')
        path = '/data/scratch/ocpbackup/'+ request.user.username + '/' + bkupfile
        if os.path.exists(path):
          print "File exists"
          
        proj= pd.loadProject(token)
        db=proj.getDBName()
        
        user ="******"
        password ="******"
        proc = subprocess.Popen(["mysql", "--user=%s" % user, "--password=%s" % password, db],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
        proc.communicate(file(path).read())
        messages.success(request, 'Sucessfully restored database '+ db)
        return redirect(profile)

      else:
        #Invalid Form
        context = {'form': form}
        print form.errors
        return render_to_response('profile.html',context,context_instance=RequestContext(request))
    else:
      #Invalid post - redirect to profile for now
      return redirect(profile)
  else:        
      #GET DATA
    randtoken = ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for x in range(64))
    form = CreateProjectForm(initial={'token': randtoken})
    path = '/data/scratch/ocpbackup/'+ request.user.username
    if os.path.exists(path):
      file_list =os.listdir(path)   
    else:
      file_list={}
    context = Context({'form': form, 'flist': file_list})
    return render_to_response('restoreproject.html',context,context_instance=RequestContext(request))
コード例 #4
0
ファイル: routes.py プロジェクト: Pennvention/pvapp
def register():
  if (('judge' in session) or ('admin' in session) or ('project' in session)):
    redirect(url_for('profile')) 
  login = SigninForm() 
  form = CreateProjectForm()
  if form.validate_on_submit():
    session['project'] = form.getproject() 
    flash('Congratulations! You successfully created your project. You can add the rest of your project members from "Actions" -> "Add Member".')
    return redirect(url_for('profile'))
  return render_template('register.html', form=form, login=login) 
コード例 #5
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)
コード例 #6
0
ファイル: views.py プロジェクト: druuu/pietrack
def create_project(request):
    template_name = 'create_project.html'
    if(request.method=="POST"):
        organization=request.user.organization
        form = CreateProjectForm(request.POST,organization=organization)
        if(form.is_valid()):
            slug = slugify(request.POST['name'])
            project_obj = Project.objects.create(name=request.POST['name'],slug=slug,description=request.POST['description'],modified_date=timezone.now(),organization=organization)
            project_id = project_obj.id
            json_data = {'error':False,'errors':form.errors, 'project_id': project_id}
            return HttpResponse(json.dumps(json_data), content_type="application/json")
        else:
            return HttpResponse(json.dumps({'error':True,'errors':form.errors}), content_type="application/json")
    return render(request,template_name)
コード例 #7
0
ファイル: views.py プロジェクト: akira-baruah/open-connectome
def createproject(request):
  
  if request.method == 'POST':
    if 'CreateProject' in request.POST:
      form = CreateProjectForm(request.POST)
      if form.is_valid():
        token = form.cleaned_data['token']
        host = form.cleaned_data['host']
        description = form.cleaned_data['description']
        project = form.cleaned_data['project']
        dataset = form.cleaned_data['dataset']
        datatype = form.cleaned_data['datatype']
        kvengine=form.cleaned_data['kvengine']
        kvserver=form.cleaned_data['kvserver']
        overlayproject=form.cleaned_data['overlayproject']
        nocreateoption = request.POST.get('nocreate')
        if nocreateoption =="on":
          nocreate = 1
        else:
          nocreate = 0
        dataurl = "http://openconnecto.me/ocp"
        readonly = form.cleaned_data['readonly']
        exceptions = form.cleaned_data['exceptions']
        openid = request.user.username
        resolution =form.cleaned_data['resolution']
        public =form.cleaned_data['public']
        propogate =form.cleaned_data['propogate']
        print "Creating a project with:"
        print token, project, dataset, dataurl,readonly, exceptions, openid , resolution
        # Get database info                
        try:
          pd = ocpcaproj.OCPCAProjectsDB()
          pd.newOCPCAProj ( token, openid, host, project, datatype, dataset, dataurl, readonly, exceptions , nocreate, int(resolution), int(public),kvserver,kvengine ,propogate)
          #pd.insertTokenDescription ( token, description )
          return redirect(profile)          
        except OCPCAError, e:
          messages.error(request, e.value)
          return redirect(profile)          
      else:
        #Invalid Form
        context = {'form': form}
        print form.errors
        return render_to_response('createproject.html',context,context_instance=RequestContext(request))
    else:
      #default
      return redirect(profile)
コード例 #8
0
ファイル: application.py プロジェクト: braun01/shehacks
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)
コード例 #9
0
ファイル: views.py プロジェクト: acrognale/aarhus
def create_new_project(request):
	if request.method == 'POST':
		form = CreateProjectForm(request.POST)
		if form.is_valid():
			form.save()
			messages.success(request, 'New project created successfully!')
			return HttpResponseRedirect('project_view_all_projects')
		else:
			messages.error(request, 'New project information contains errors!')
			return HttpResponse("Sorry, project could not be created")
	else:
		form = CreateProjectForm(initial={
			'created_by' : request.user.username,
			'created_on' : time.strftime("%Y-%m-%d", time.gmtime())
		})
		user = request.user.username
		return TemplateResponse(request, 'project/create_new_project.html', {
			'form': form,
		})
コード例 #10
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)
コード例 #11
0
ファイル: views.py プロジェクト: pingud98/megaproject
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('index'))

    return render_template('create_project.html', title='Create Project', user=user, form=form)
コード例 #12
0
ファイル: views.py プロジェクト: druuu/pietrack
def project_details(request,slug):
	project = Project.objects.get(slug=slug)
	dictionary = {'project':project}
	template_name = 'Project-Project_Details.html'

	if(request.method=='POST'):
		organization=request.user.organization
		form = CreateProjectForm(request.POST,organization=organization)

		if(form.is_valid()):
			slug = slugify(request.POST['name'])
			project = Project.objects.get(slug=request.POST['oldname'],organization=organization)
			project.name=request.POST['name']
			project.slug = slug
			project.modified_date = timezone.now()
			project.save()
			return HttpResponse(json.dumps({'error':False,'slug':slug}), content_type="application/json")
		else:
			return HttpResponse(json.dumps({'error':True,'errors':form.errors}), content_type="application/json")

	return render(request, template_name, dictionary)
コード例 #13
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)
コード例 #14
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))
コード例 #15
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),
            })