コード例 #1
0
ファイル: base.py プロジェクト: jrm2k6/jeremydagorn-blog
def add_project():
    form = AddProjectForm(request.form)
    if request.method == "POST" and form.validate():
        project = Project(form.title.data, form.description.data, form.url.data, form.status.data)
        db.session.add(project)
        db.session.commit()

        project_technology = ProjectsTechnologies(project.id, form.technologies.data)
        db.session.add(project_technology)
        db.session.commit()

        flash("Project added", "info")
        return redirect(url_for("add_project"))

    pivot_data = []
    technologies = ProjectsTechnologies.query.all()
    for elem in technologies:
        technology = Technology.query.filter_by(id=elem.technology_id).first()
        pivot_data.append((elem.project_id, technology, "technology", "select"))

    print pivot_data

    return render_template(
        "_add.html",
        form=form,
        rows=Project.query.all(),
        target_model="Project",
        fields=Project.__mapper__.c.keys(),
        extra_fields=Project.get_pivot_readable_fields(),
        pivot_data=pivot_data,
        pivot_data_update=[("technology", Technology.query.all(), "select")],
        action="addproject",
    )
コード例 #2
0
ファイル: __init__.py プロジェクト: B1aZer/ImInIt
def add_entry():

    form = AddProjectForm(request.form)
    cats = db.session.query(Category).all()
    cats = [cat.title for cat in cats]
    if request.method == 'POST' and form.validate():
        #try:
            proj = Projects(form.title.data,
                    form.description.data,
                    form.date_end.data,
                    form.goal_end.data,
                    form.httext.data,
                    g.user,
                    form.loc.data,
                    form.types.data,
                    form.lat.data,
                    form.lng.data,
                    form.image_link.data or url_for('static', filename='img/cover.jpg'))

            dupl = set()
            for cat in form.cat.data.split(','):
                cat = cat.strip()
                if cat:
                    #category = db.session.query(Category).filter_by(title=cat).first()
                    #if not category:
                        #category = Category(title=cat)
                    category = db.session.query(Category).filter_by(title=cat).first() \
                            or Category(title=cat)
                    if cat not in dupl:
                        proj.cat.append(category)
                        dupl.add(cat)

            db.session.add(proj)
            db.session.commit()
            flash('Project added')
        #except:
            #app.logger.debug('Cant add project')
            return redirect('/')

    return render_template('add.html', form=form, cats=cats)
コード例 #3
0
def add_project():
    form = AddProjectForm(request.form)
    if request.method == 'POST' and form.validate():
        project = Project(form.title.data, form.description.data,
                          form.url.data, form.status.data)
        db.session.add(project)
        db.session.commit()

        project_technology = ProjectsTechnologies(project.id,
                                                  form.technologies.data)
        db.session.add(project_technology)
        db.session.commit()

        flash('Project added', 'info')
        return redirect(url_for('add_project'))

    pivot_data = []
    technologies = ProjectsTechnologies.query.all()
    for elem in technologies:
        technology = Technology.query.filter_by(id=elem.technology_id).first()
        pivot_data.append(
            (elem.project_id, technology, 'technology', 'select'))

    print pivot_data

    return render_template('_add.html',
                           form=form,
                           rows=Project.query.all(),
                           target_model="Project",
                           fields=Project.__mapper__.c.keys(),
                           extra_fields=Project.get_pivot_readable_fields(),
                           pivot_data=pivot_data,
                           pivot_data_update=[
                               ('technology', Technology.query.all(), 'select')
                           ],
                           action="addproject")