Skip to content
Snippets Groups Projects
Select Git revision
  • b0c3404cc7bc6ffe420426f73fe9a5b0f075d94d
  • master default
  • renovate/opencsv.version
  • renovate/org.springframework.boot-spring-boot-starter-parent-3.x
  • renovate/junit-jupiter-engine.version
  • renovate/selenium.version
  • renovate/testcontainer.version
  • demo
  • v1_8_1
  • v2.18.1
  • v2.18.0
  • v2.17.2
  • v2.17.1
  • v2.17.0
  • v2.16.1
  • v2.16.0
  • v2.15.1
  • v2.15.0
  • v2.14.0
  • v2.13.0
  • v2.12.0
  • v2.11.0
  • v2.10.0
  • v2.9.2
  • v2.9.1
  • v2.9.0
  • v2.8.0
  • testPipeline2
  • v2.7.0
29 results

charts.js

Blame
  • Milestones.py 4.28 KiB
    import requests
    from flask import Blueprint, render_template, redirect, url_for, request, session
    
    from AdminWrapper import require_api_token
    from ApiRequest import ApiRequest
    from Localization import LOCALIZATION
    
    
    def construct_blueprint(urlBuilder):
        milestones = Blueprint('admin_milestones', __name__)
    
        @milestones.route('/admin/milestones/overview', methods=['GET'])
        @require_api_token
        def overview():
            roadmap_ID = request.args.get('roadmap_ID')
            if not roadmap_ID or int(roadmap_ID) < 0:
                return render_template('error.html', message=LOCALIZATION['error_param_invalid'])
    
            roadmap = requests.get(urlBuilder.build_url('roadmap', roadmap_ID)).json()
            milestones = requests.get(urlBuilder.build_url('milestones', roadmap_ID)).json()
            return render_template('admin/milestones/overview.html', milestones=milestones, roadmap=roadmap)
    
        @milestones.route('/admin/milestones/add', methods=['GET'])
        @require_api_token
        def add():
            return render_template('admin/milestones/edit.html',
                                   title='New Milestone',
                                   roadmap_ID=request.args.get('roadmap_ID'),
                                   form_url=url_for('admin_milestones.add_post'))
    
        @milestones.route('/admin/milestones/add', methods=['POST'])
        @require_api_token
        def add_post():
            params = dict(request.form)
            params['Status'] = '1' if 'Status' in params else '0'
    
            success, response = ApiRequest.send_api_request(urlBuilder.build_url('milestone'),
                                                            requests.post, params,
                                                            [('RoadmapID', int), ('VersionCode', int), ('VersionName', str),
                                                             ('Title', str), ('DueDate', str), ('CompletionDate', str),
                                                             ('Status', int)])
            if not success:
                return response
            return redirect(url_for('admin_milestones.overview', roadmap_ID=request.form.get('RoadmapID')))
    
        @milestones.route('/admin/milestones/edit', methods=['GET'])
        @require_api_token
        def edit():
            ID = request.args.get('ID')
            if not ID or int(ID) < 0:
                return render_template('error.html', message=LOCALIZATION['error_param_invalid'])
    
            milestone = requests.get(urlBuilder.build_url('milestone', ID)).json()
            if milestone['DueDate'] == '-':
                milestone['DueDate'] = ''
    
            if milestone['CompletionDate'] == '-':
                milestone['CompletionDate'] = ''
    
            return render_template('admin/milestones/edit.html',
                                   title='Edit Milestone',
                                   roadmap_ID=request.args.get('roadmap_ID'),
                                   milestone=milestone,
                                   form_url=url_for('admin_milestones.edit_post'))
    
        @milestones.route('/admin/milestones/edit', methods=['POST'])
        @require_api_token
        def edit_post():
            params = dict(request.form)
            params['Status'] = '1' if 'Status' in params else '0'
    
            success, response = ApiRequest.send_api_request(urlBuilder.build_url('milestone'),
                                                            requests.put, params,
                                                            [('ID', int), ('RoadmapID', int), ('VersionCode', int),
                                                             ('VersionName', str), ('Title', str), ('DueDate', str),
                                                             ('CompletionDate', str), ('Status', int)])
    
            if not success:
                return response
            return redirect(url_for('admin_milestones.overview', roadmap_ID=params['RoadmapID']))
    
        @milestones.route('/admin/milestones/delete', methods=['GET'])
        @require_api_token
        def delete():
            ID = request.args.get('ID')
            if not ID or int(ID) < 0:
                return render_template('error.html', message=LOCALIZATION['error_param_invalid'])
    
            success, response = ApiRequest.send_api_request(urlBuilder.build_url('milestone', ID), requests.delete, {}, [])
            if not success:
                return response
            return redirect(url_for('admin_milestones.overview', roadmap_ID=request.args.get('roadmap_ID')))
    
        return milestones