Пример #1
0
def warn_old_project_owners():
    """E-mail the project owners not updated in the last 3 months."""
    from pybossa.core import mail, project_repo
    from pybossa.cache.projects import clean
    from flask.ext.mail import Message

    projects = get_non_updated_projects()

    with mail.connect() as conn:
        for project in projects:
            subject = ('Your %s project: %s has been inactive'
                       % (current_app.config.get('BRAND'), project.name))
            body = render_template('/account/email/inactive_project.md',
                                   project=project)
            html = render_template('/account/email/inactive_project.html',
                                   project=project)
            msg = Message(recipients=[project.owner.email_addr],
                          subject=subject,
                          body=body,
                          html=html)
            conn.send(msg)
            project.contacted = True
            project.published = False
            clean(project.id)
            project_repo.update(project)
    return True
Пример #2
0
def warn_old_project_owners():
    """E-mail the project owners not updated in the last 3 months."""
    from pybossa.core import mail, project_repo
    from pybossa.cache.projects import clean
    from flask.ext.mail import Message

    projects = get_non_updated_projects()

    with mail.connect() as conn:
        for project in projects:
            subject = ('Your %s project: %s has been inactive' %
                       (current_app.config.get('BRAND'), project.name))
            body = render_template('/account/email/inactive_project.md',
                                   project=project)
            html = render_template('/account/email/inactive_project.html',
                                   project=project)
            msg = Message(recipients=[project.owner.email_addr],
                          subject=subject,
                          body=body,
                          html=html)
            conn.send(msg)
            project.contacted = True
            project.published = False
            clean(project.id)
            project_repo.update(project)
    return True
Пример #3
0
 def delete(self, project):
     self._validate_can_be('deleted', project)
     project = self.db.session.query(Project).filter(Project.id==project.id).first()
     self.db.session.delete(project)
     self.db.session.commit()
     cached_projects.clean(project.id)
     self._delete_zip_files_from_store(project)
Пример #4
0
 def delete(self, project):
     self._validate_can_be('deleted', project)
     project = self.db.session.query(Project).filter(Project.id==project.id).first()
     self.db.session.delete(project)
     self.db.session.commit()
     cached_projects.clean(project.id)
     self._delete_zip_files_from_store(project)
Пример #5
0
 def delete_task_by_id(self, project_id, task_id):
     args = dict(project_id=project_id, task_id=task_id)
     self.db.session.execute(text('''
                DELETE FROM result WHERE project_id=:project_id
                                   AND task_id=:task_id;'''), args)
     self.db.session.execute(text('''
                DELETE FROM task_run WHERE project_id=:project_id
                                     AND task_id=:task_id;'''), args)
     self.db.session.execute(text('''
                DELETE FROM task WHERE project_id=:project_id
                                 AND id=:task_id;'''), args)
     self.db.session.commit()
     cached_projects.clean(project_id)