def edit_project(title): import __init__, models, forms from __init__ import db from models import Project from forms import ProjectForm project = Project.query.filter_by(title=title).first() if not project: abort(404) project_form = ProjectForm(obj=project) if request.method == "POST": if project_form.validate(): project_form.populate_obj(project) db.session.commit() flash("Edit was successful.") return redirect(url_for("main._portfolio")) else: flash("Project editing failed.") return render_template("edit_form.html", form=project_form, title="Edit Projects", right=random.choice(rights), is_web=True)
def edit_project2(project_id): if 'email' not in session: return redirect(url_for('home')) project_By_ID = project.query.filter_by(id = project_id).first_or_404() show_project = ProjectForm() show_project.set_supervisor_choices() show_project.setFormContentFromProject(project_By_ID) if request.method == 'POST': show_project = ProjectForm() show_project.set_supervisor_choices() if show_project.validate() == False: flash('Please fill out everything') return render_template('edit_project.html', show_project=show_project, projectByID = project_By_ID) else: project_By_ID.updateProject(show_project) db.session.add(project_By_ID) db.session.commit() return redirect(url_for('home')) elif request.method == 'GET': return render_template('edit_project.html', show_project=show_project, projectByID = project_By_ID)
def create_project(): if 'email' not in session: return redirect(url_for('home')) show_project = ProjectForm() show_project.set_supervisor_choices() if request.method == 'POST': if show_project.validate() == False: flash('All fields are required.') return render_template('create_project.html', show_project=show_project) else: new_project = project(show_project, session['email']) db.session.add(new_project) db.session.commit() if show_project.file.data.filename: os.makedirs("Project/files/" + str(newuser.id)) filename = secure_filename(show_project.file.data.filename) show_project.file.data.save('Project/files/' + str(newuser.id) + "/" + filename) flash('Project has been created') return redirect(url_for('create_project')) elif request.method == 'GET': return render_template('create_project.html', show_project=show_project)
def form(): form = ProjectForm() email = session['email'] project_id = project_nums() user = User.query.filter_by(email=email).first() user_id = user.uid firstname, lastname = user.firstname, user.lastname if request.method == "POST": if form.validate() == False: return render_template('form.html', form=form, firstname=firstname, lastname=lastname) else: name = form.groupname.data goal = form.goal.data accomplish = form.accomplish.data friends = form.friends.data new_user_project = Projects(project_id, name, user_id, goal, accomplish) if friends: friends = friends.split(" ") for i in friends: friend = None if "@" in i: friend = User.query.filter_by(email=i[1:-2]).first() friend_id = friend.uid if friend: new_friend_project = Projects(project_id, name, friend_id, '', '') db.session.add(new_friend_project) db.session.commit() db.session.add(new_user_project) db.session.commit() return redirect(url_for('home', firstname = firstname, lastname = lastname)) return render_template("form.html", form=form, firstname=firstname, lastname= lastname)
def add(self): form = ProjectForm(csrf_enabled=False) if form.validate(): project = form.save() db.session.add(project) db.session.commit() return 201, project.id return 400, form.errors
def add(self): form = ProjectForm(csrf_enabled=False) if form.validate(): project = form.save() db.session.add(project) db.session.commit() return 201, project.id return 400, form.errors
def add_project(): form = ProjectForm(request.form) if not form.validate(): return str(form.errors) project = Project(form.name.data) db.session.add(project) db.session.commit() return redirect(url_for('index'))
def new_project(): form = ProjectForm(request.form) if request.method == 'POST' and form.validate(): # save the project osoba = Osoba() save_changes(osoba, form, new=True) flash('Project created successfully!') return redirect('/') return render_template('new_project.html', form=form)
def project_edit(project_id): project = Project.query.filter_by(id=project_id).first_or_404() form = ProjectForm(obj=project) if request.method == 'POST' and form.validate(): form.populate_obj(project) db.session.commit() flash('Project has been updated successfully.', 'success') return redirect(url_for('project', project_id=project.id)) return render_template('project/form.html', form=form, action_url=url_for('project_edit', project_id=project.id))
def create_project(): form = ProjectForm() if request.method == "GET" and 'project_id' in request.values: form.name.data = request.values['project_id'] if request.method == "POST": # At first, we don't want the user to bother with the identifier # so it will automatically be missing because not displayed into # the form # Thus we fill it with the same value as the filled name, # the validation will take care of the slug if not form.id.data: form.id.data = form.name.data if form.validate(): # save the object in the db project = form.save() db.session.add(project) db.session.commit() # create the session object (authenticate) session[project.id] = project.password session.update() # send reminder email g.project = project message_title = _( "You have just created '%(project)s' " "to share your expenses", project=g.project.name) message_body = render_template("reminder_mail.%s" % get_locale().language) msg = Message(message_title, body=message_body, recipients=[project.contact_email]) try: mail.send(msg) except SMTPRecipientsRefused: msg_compl = 'Problem sending mail. ' # TODO: destroy the project and cancel instead? else: msg_compl = '' # redirect the user to the next step (invite) flash( _("%(msg_compl)sThe project identifier is %(project)s", msg_compl=msg_compl, project=project.id)) return redirect(url_for(".invite", project_id=project.id)) return render_template("create_project.html", form=form)
def getProject(*args, **kwargs): """ 获取业务列表 """ form = ProjectForm(data=kwargs) if not form.validate(): return dictify(test={"code": 1}, success=False, msg=u"表单参数有误") project_id = form.project_id.data projects = Project.objects.filter(id__in=project_id).values("id", "name") data = list(projects) return dictify(test={"code": 4}, success=True, data=data)
def getProject(*args, **kwargs): """ 获取业务列表 """ form = ProjectForm(data = kwargs) if not form.validate(): return dictify(test = {"code": 1}, success = False, msg = u"表单参数有误") project_id = form.project_id.data projects = Project.objects.filter(id__in = project_id).values("id", "name") data = list(projects) return dictify(test = {"code": 4}, success = True, data = data)
def create_project(): form = ProjectForm() if request.method == "GET" and 'project_id' in request.values: form.name.data = request.values['project_id'] if request.method == "POST": # At first, we don't want the user to bother with the identifier # so it will automatically be missing because not displayed into # the form # Thus we fill it with the same value as the filled name, # the validation will take care of the slug if not form.id.data: form.id.data = form.name.data if form.validate(): # save the object in the db project = form.save() db.session.add(project) db.session.commit() # create the session object (authenticate) session[project.id] = project.password session.update() # send reminder email g.project = project message_title = _("You have just created '%(project)s' " "to share your expenses", project=g.project.name) message_body = render_template("reminder_mail.%s" % get_locale().language) msg = Message(message_title, body=message_body, recipients=[project.contact_email]) try: mail.send(msg) except SMTPRecipientsRefused: msg_compl = 'Problem sending mail. ' # TODO: destroy the project and cancel instead? else: msg_compl = '' # redirect the user to the next step (invite) flash(_("%(msg_compl)sThe project identifier is %(project)s", msg_compl=msg_compl, project=project.id)) return redirect(url_for(".invite", project_id=project.id)) return render_template("create_project.html", form=form)
def add_projects(): form = ProjectForm(request.form) if request.method == 'POST': if form.validate() == False: flash('All fields are required.') return render_template('project_add.html', form=form) else: choice = filter(lambda c: c[0] == form.name.data, form.name.choices)[0] print(choice) project_abv = choice[0] project_name = choice[1] id = create_project(s, name=project_name, short_name=project_abv, user=current_user.id) if id == -1: form.name.errors = ["That name isn't unique.",] return render_template('project_add.html', form=form) return view_projects() elif request.method == 'GET': return render_template('project_add.html', form=form)
def new_project(): import __init__, models, forms from __init__ import db from models import Project from forms import ProjectForm project_form = ProjectForm() if request.method == "POST": if project_form.validate(): filename = photos.save(project_form.image.data) #index = file_url = os.path.join('images/projects/', filename) index = (db.session.query(db.func.max(Project.index)).scalar() or 0) + 1 project = Project(title=project_form.title.data, imgfile=file_url, website=project_form.website.data, github_url=project_form.github_url.data, is_game=project_form.is_game.data, description=project_form.description.data, long_desc=project_form.long_desc.data, index=index) db.session.add(project) print(file_url, flush=True) print('successfully added project', flush=True) db.session.commit() flash("Project was created.") return redirect(url_for("main._portfolio")) else: flash("Project creation failed.") return render_template("edit_form.html", form=project_form, title="Create Projects", right=random.choice(rights), new=True, is_web=True)
def new_project(): form = ProjectForm(request.form) if request.method == 'POST': form.repositories.choices = get_repo_list(g.user) if form.validate(): project = Projects(name=form.name.data, author_id=g.user.id) db_session.add(project) db_session.commit() project.collaborators.append(g.user) repo_name_list = [] for repo in form.repositories.data: repo_id, repo_name = repo.split('*') repo_name_list.append(repo_name) repository = Repositories( name=repo_name, github_repo_id=repo_id, project_id=project.id) db_session.add(repository) db_session.commit() return redirect(url_for('add_labels', project_id=project.id)) # this is for GET request form.repositories.choices = get_repo_list(g.user) return render_template( "new_project.html", form=form, view_url=url_for('new_project'))
def edit_project(p): project = Project.query.filter_by(team_name=p).first() if project.admin.nickname != current_user.nickname: abort(403) else: form = ProjectForm() if request.method == 'POST': status = request.form.get('status') if status == "for_avatar": avatar_file = request.files['avatar_file'] filename = f'project_logos/{randomString(20)}{get_ending(avatar_file.filename)}' print(f"[DEBUG]::{app.config['UPLOAD_FOLDER']}") avatar_file.save( os.path.join(app.config['UPLOAD_FOLDER'], filename)) os.remove( os.path.join( app.config['UPLOAD_FOLDER'], f"project_logos/{project.logo.replace('/static/project_logos','')}" )) project.logo = url_for('static', filename=filename) db.session.commit() print('[INFO] :: Success setting new project logo') return make_response({'filename': filename}, 200) elif status == "delete": print('[INFO] :: status - project deleted') #!!! [WARNING]:: YOU MUST DELETE ALL POSTS, COMMENTS AND CHATS for req in project.requests: db.session.delete(req) db.session.delete(project) db.session.commit() return make_response('Success', 200) else: validation = Form.validate(form) if form.validate(instance=project): project.team_name = form.team_name.data project.project_name = form.project_name.data project.tags.clear() for tag in form.selected_tags: t = Tag.query.filter_by(name=tag).first() project.tags.append(t) project.about = form.about.data db.session.commit() return redirect(url_for('get_project', p=project.team_name)) else: tags = Tag.query.all() logo = project.logo return render_template('for_project_model/edit.html', form=form, tags=tags, logo=logo) form.team_name.data = project.team_name form.project_name.data = project.project_name form.tags.data = [i.name for i in project.tags] form.about.data = project.about form.selected_tags = [i.name for i in project.tags] print(f'[DEBUG]::{form.selected_tags}') tags = Tag.query.all() logo = project.logo return render_template('for_project_model/edit.html', form=form, tags=tags, logo=logo)