Esempio n. 1
0
def edit_experiment(id):
    """
    Edit a experiment
    """

    add_experiment = False

    experiment = Experiment.query.filter_by(id=id).first()
    form = ExperimentForm(obj=experiment)
    if form.validate_on_submit():
        experiment.name = form.name.data
        experiment.description = form.description.data
        experiment.content = form.content.data
        experiment.courseNums = form.courseNums.data.courseNums
        # type(form.courseNums.data) is app.models.course
        experiment.containerName = form.containerName.data# .name
        # type(form.containerName.data) is unicode
        db.session.commit()
        flash(u'实验修改成功')

        # redirect to the experiments page
        return redirect(url_for('admin.list_experiments'))

    experiment.name = form.name.data
    experiment.description = form.description.data
    experiment.content = form.content.data
    experiment.courseNums = form.courseNums.data# .courseNums
    experiment.containerName = form.containerName.data
    return render_template('admin/experiments/experiment.html', add_experiment=add_experiment,
                           form=form, title="Edit experiment")
Esempio n. 2
0
def add_experiment():
    """
    Add a experiment
    """

    add_experiment = True

    form = ExperimentForm()
    if form.validate_on_submit():
        experiment = Experiment(name=form.name.data,description=form.description.data,
                    content=form.content.data,courseNums=form.courseNums.data.courseNums,
                    containerName=form.containerName.data, teacherName=current_user.name)  # .name)
        try:
            db.session.add(experiment)
            db.session.commit()
            flash(u'实验创建完成')
        except:
            flash(u'实验创建失败')
            return redirect(url_for('admin.add_experiment'))
            

        # redirect to the experiments page
        return redirect(url_for('admin.list_experiments'))

    return render_template('admin/experiments/experiment.html', add_experiment=add_experiment,
                           form=form, title="Add experiment")
Esempio n. 3
0
def experiment():
    form = ExperimentForm()
    if request.method == "POST":
        if form.validate() == False:
            return render_template("experiment.html", form=form)
        else:
            title = form.title.data
            description = form.description.data
            etype = form.etype.data
            protocol = form.protocol.data
            duration = form.duration.data
            username = session['username']
            user = User.query.filter_by(username=username).first()
            exp = Experiment(uid=user.id,
                             title=title,
                             duration=duration,
                             protocol=protocol,
                             description=description)
            db.session.add(exp)
            db.session.flush()
            session['current_experiment'] = exp.eid
            db.session.commit()
            print(exp.eid)
            return redirect(url_for('node'))
    elif request.method == "GET":
        return render_template("experiment.html", form=form)
Esempio n. 4
0
def edit_experiment(request, pk):
    experiment = Experiment.objects.get(pk=pk)
    form = ExperimentForm(request.POST or None, instance=experiment)
    if request.method == "POST" and form.is_valid():
        if "cancel" in request.POST:
            return redirect('/lifespan/experiments/')
        with reversion.create_revision():
            form.save()
            reversion.set_user(request.user)
            comment = request.POST['comment'] or "Changed experiment"
            reversion.set_comment(comment)
            log(request, experiment, comment)
        return redirect('/lifespan/experiment/%s' % pk)
    ctx = {'experiment': experiment, 'form': form}
    return render_to_response('lifespan/edit_experiment.html',
                              ctx,
                              context_instance=RequestContext(request))
Esempio n. 5
0
def add_experiment(request, pk):
    form = ExperimentForm(request.POST or None,
                          pk=pk)  # A form bound to the POST data
    if request.method == "POST" and form.is_valid(
    ):  # All validation rules pass
        with reversion.create_revision():
            experiment = form.save(commit=False)
            #print("Experiment id: %s" % experiment.id)
            #print form
            form.save()
            if isinstance(request.user, AnonymousUser):
                request.user = User.objects.get(username="******")
            reversion.set_user(request.user)
            comment = "Added experiment."
            reversion.set_comment(comment)
            log(request, experiment, comment)
            msg = "Successfully added experiment."
            messages.add_message(request, messages.SUCCESS, ugettext(msg))
            return redirect('/lifespan/experiment/%s' % experiment.pk)
    return render_to_response('lifespan/add_experiment.html', {'form': form},
                              context_instance=RequestContext(request))
Esempio n. 6
0
def ckupload():
    form = ExperimentForm()
    response = form.upload(endpoint=admin)
    return response
Esempio n. 7
0
def experiments_create():
    form = ExperimentForm()
    if form.validate_on_submit():
        return 'Yay!'
    else:
        return render_template('experiments/new.html', form=form)
Esempio n. 8
0
def experiments_new():
    form = ExperimentForm()
    return render_template('experiments/new.html', form=form)