Пример #1
0
    def tearDown(self):
        self.mocker.restore()
        self.language.delete()

        from labs.models import Project
        from google.appengine.ext import db
        projects = Project.all().fetch(1000)
        db.delete(projects)
Пример #2
0
def update_project(slug):
    project = Project.all().filter('slug =', slug).get()
    form = ProjectForm()
    if form.validate_on_submit():
        form.model = project
        form.save()
        flash('Project updated')
        return redirect(url_for('list_projects'))
    return render_template('admin/projects/edit.html', form=form, project=project)
Пример #3
0
 def test_delete_a_project(self):
     "Should delete a project on URL /projects/<slug>/delete"
     self._mock_logged_in()
     from labs.models import Project
     project = Project(name = u'Ruby on Rails', description = 'Bla bla bla', language = self.language)
     project.put()
     project_slug = project.slug
     url = '/admin/projects/%s/delete' %(project_slug)
     response = self.client.get(url)
     project = Project.all().filter('slug = ', project_slug).get()
     assert_true(project is None)
Пример #4
0
 def test_create_a_project(self):
     "Should create a project with given data by post"
     self._mock_logged_in(times = 2)
     expected_name = u'The project'
     from labs.util import slugify
     expected_slug = slugify(expected_name)
     data = {
         'name' : expected_name,
         'language' : self.language.key(),
         'description' : 'Bla bla bla'
     }
     response = self.client.post('/admin/projects', data = data, follow_redirects = True)
     from labs.models import Project
     project = Project.all().filter('slug = ', expected_slug).get()
     assert_equals(project.name, expected_name)
Пример #5
0
 def test_update_a_project(self):
     "Should update a project with given data by post"
     self._mock_logged_in(times = 2)
     project = Project(name = u'The big project', description='Bla bla bla', language = self.language)
     project.put()
     slug = project.slug
     github_url = 'http://github.com/franciscosouza/labs'
     data = {
         'name' : project.name,
         'language' : project.language.key(),
         'description' : 'Bla bla bla',
         'github_url' : github_url
     }
     self.client.post('/admin/projects/%s' % slug, data = data, follow_redirects = True)
     project = Project.all().filter('slug =', slug).get()
     assert_equals(project.github_url, github_url)
Пример #6
0
def list_projects():
    projects = Project.all().order('name')
    return render_template('admin/projects/list.html', projects=projects)
Пример #7
0
def delete_project(slug):
    project = Project.all().filter('slug =', slug).get()
    project.delete()
    flash('Project successful deleted')
    return redirect(url_for('list_projects'))
Пример #8
0
def edit_project(slug):
    project = Project.all().filter('slug =', slug).get()
    form = ProjectForm(project)
    return render_template('admin/projects/edit.html', form=form, project=project)
Пример #9
0
def list_projects():
    projects = Project.all()
    return render_template('frontend/projects/list.html', projects=projects)
Пример #10
0
def show_project(language_slug, project_slug):
    project = Project.all().filter('slug = ', project_slug).get()
    return render_template('frontend/projects/show.html', project=project)