Skip to content

Commit

Permalink
Merge pull request #1899 from Scifabric/issue-1889
Browse files Browse the repository at this point in the history
Fixes #1889
  • Loading branch information
teleyinex committed Nov 13, 2018
2 parents bfdfcb5 + 90176c2 commit 4d29882
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
20 changes: 12 additions & 8 deletions pybossa/view/projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -1713,16 +1713,20 @@ def publish(short_name):
template_args = {"project": project_sanitized,
"pro_features": pro,
"csrf": generate_csrf()}
response = dict(template = '/projects/publish.html', **template_args)
response = dict(template='/projects/publish.html', **template_args)
return handle_content_type(response)

project.published = True
project_repo.save(project)
task_repo.delete_taskruns_from_project(project)
result_repo.delete_results_from_project(project)
webhook_repo.delete_entries_from_project(project)
auditlogger.log_event(project, current_user, 'update', 'published', False, True)
flash(gettext('Project published! Volunteers will now be able to help you!'))
if project.published is False:
project.published = True
project_repo.save(project)
task_repo.delete_taskruns_from_project(project)
result_repo.delete_results_from_project(project)
webhook_repo.delete_entries_from_project(project)
auditlogger.log_event(project, current_user,
'update', 'published', False, True)
flash(gettext('Project published! Volunteers will now be able to help you!'))
else:
flash(gettext('Project already published'))
return redirect(url_for('.details', short_name=project.short_name))


Expand Down
6 changes: 6 additions & 0 deletions test/test_view/test_project_publish.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@ def test_it_deletes_project_taskruns_before_publishing(self, mock_task_repo,
mock_webhook_repo.assert_called_with(self.project)
mock_result_repo.assert_called_with(self.project)

# Try again
resp = self.app.post('/project/%s/publish' % self.project.short_name,
follow_redirects=True)
assert 'Project already published' in resp.data


@with_context
@patch('pybossa.view.projects.auditlogger')
def test_it_logs_the_event_in_auditlog(self, fake_logger):
Expand Down

0 comments on commit 4d29882

Please sign in to comment.