Exemple #1
0
def project_add():
    if request.method == 'POST':
        project_data = session.get('project_data')
        versioning_data = session.get('versioning_data')

        project = Project(project_data['client'],
                          project_data['project_name'],
                          project_data['subproject_name'])
        project.user = g.user
        project.add_user(g.user)
        post_add = project.add(project)
        version_number_formatted_without_the_dot = versioning_data['version'].replace('.', '')

        if project_data['subproject_name']:
            zf_name = "scripts-{0}-{1}-{2}-v{3}.zip".format(project_data['client'],
                                                            project_data['project_name'],
                                                            project_data['subproject_name'],
                                                            version_number_formatted_without_the_dot)
        else:
            zf_name = "scripts-{0}-{1}-v{2}.zip".format(project_data['client'],
                                                        project_data['project_name'],
                                                        version_number_formatted_without_the_dot)

        project = last_project()
        project_versioning = ProjectVersioning(versioning_data['version'],
                                               versioning_data['excel_file'],
                                               versioning_data['template_file'],
                                               versioning_data['to_fill'],
                                               versioning_data['filled'],
                                               versioning_data['fillingRatio'],
                                               zf_name,
                                               versioning_data['description'],
                                               project,
                                               g.user)
        project_versioning = project_versioning.add(project_versioning)

        if not post_add and not project_versioning:
            new_project_folder = os.path.join(app.config['UPLOAD_FOLDER'],
                                              str(project.id),
                                              'v{}'.format(version_number_formatted_without_the_dot))
            move(session['project_folder'], new_project_folder)

            try:
                zip_file(new_project_folder, os.path.join(new_project_folder, zf_name))
            except:
                pass

            return redirect(url_for('project_display', project_id=last_id_of_the_table_project()))
        else:
            error = post_add
            flash(error)
    return redirect(url_for('project_display_all'))
Exemple #2
0
def project_upgrade(project_id):
    if request.method == 'POST':
        versioning_data = session.get('versioning_data')
        project = Project.query.get(project_id)

        version_number_formatted_without_the_dot = versioning_data['version'].replace('.', '')
        if project.subProjectName:
            zf_name = "scripts-{0}-{1}-{2}-v{3}.zip".format(project.client,
                                                            project.projectName,
                                                            project.subProjectName,
                                                            version_number_formatted_without_the_dot)
        else:
            zf_name = "scripts-{0}-{1}-v{2}.zip".format(project.client,
                                                        project.projectName,
                                                        version_number_formatted_without_the_dot)

        new_version = ProjectVersioning(versioning_data['version'],
                                        versioning_data['excel_file'],
                                        versioning_data['template_file'],
                                        versioning_data['to_fill'],
                                        versioning_data['filled'],
                                        versioning_data['fillingRatio'],
                                        zf_name,
                                        versioning_data['description'],
                                        project,
                                        g.user)
        error_in_creation_of_new_version = new_version.add(new_version)

        if not error_in_creation_of_new_version:
            try:
                zip_file(versioning_data['project_folder'], os.path.join(versioning_data['project_folder'], zf_name))
            except:
                pass

            return redirect(url_for('project_display', project_id=project_id))
        else:
            flash(error_in_creation_of_new_version)
    return redirect(url_for('project_display_all'))