Commit 0d54e420 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

WIP Suivi

parent eec81cec
Loading
Loading
Loading
Loading
+70 −69
Original line number Diff line number Diff line
@@ -460,16 +460,16 @@
        },
        {
            "name": "doctrine/dbal",
            "version": "3.6.0",
            "version": "3.6.1",
            "source": {
                "type": "git",
                "url": "https://github.com/doctrine/dbal.git",
                "reference": "85b98cb23c8af471a67abfe14485da696bcabc2e"
                "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/doctrine/dbal/zipball/85b98cb23c8af471a67abfe14485da696bcabc2e",
                "reference": "85b98cb23c8af471a67abfe14485da696bcabc2e",
                "url": "https://api.github.com/repos/doctrine/dbal/zipball/57815c7bbcda3cd18871d253c1dd8cbe56f8526e",
                "reference": "57815c7bbcda3cd18871d253c1dd8cbe56f8526e",
                "shasum": ""
            },
            "require": {
@@ -485,11 +485,11 @@
                "doctrine/coding-standard": "11.1.0",
                "fig/log-test": "^1",
                "jetbrains/phpstorm-stubs": "2022.3",
                "phpstan/phpstan": "1.9.14",
                "phpstan/phpstan-strict-rules": "^1.4",
                "phpunit/phpunit": "9.6.3",
                "phpstan/phpstan": "1.10.3",
                "phpstan/phpstan-strict-rules": "^1.5",
                "phpunit/phpunit": "9.6.4",
                "psalm/plugin-phpunit": "0.18.4",
                "squizlabs/php_codesniffer": "3.7.1",
                "squizlabs/php_codesniffer": "3.7.2",
                "symfony/cache": "^5.4|^6.0",
                "symfony/console": "^4.4|^5.4|^6.0",
                "vimeo/psalm": "4.30.0"
@@ -552,7 +552,7 @@
            ],
            "support": {
                "issues": "https://github.com/doctrine/dbal/issues",
                "source": "https://github.com/doctrine/dbal/tree/3.6.0"
                "source": "https://github.com/doctrine/dbal/tree/3.6.1"
            },
            "funding": [
                {
@@ -568,7 +568,7 @@
                    "type": "tidelift"
                }
            ],
            "time": "2023-02-07T22:52:03+00:00"
            "time": "2023-03-02T19:26:24+00:00"
        },
        {
            "name": "doctrine/deprecations",
@@ -2024,16 +2024,16 @@
        },
        {
            "name": "laminas/laminas-crypt",
            "version": "3.9.0",
            "version": "3.10.0",
            "source": {
                "type": "git",
                "url": "https://github.com/laminas/laminas-crypt.git",
                "reference": "56ab1b195dad5456753601ff2e8e3d3fd9392d1a"
                "reference": "588375caf4d505fee90d1449e9714c912ceb5051"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/laminas/laminas-crypt/zipball/56ab1b195dad5456753601ff2e8e3d3fd9392d1a",
                "reference": "56ab1b195dad5456753601ff2e8e3d3fd9392d1a",
                "url": "https://api.github.com/repos/laminas/laminas-crypt/zipball/588375caf4d505fee90d1449e9714c912ceb5051",
                "reference": "588375caf4d505fee90d1449e9714c912ceb5051",
                "shasum": ""
            },
            "require": {
@@ -2084,7 +2084,7 @@
                    "type": "community_bridge"
                }
            ],
            "time": "2022-10-16T15:51:01+00:00"
            "time": "2023-03-03T15:57:57+00:00"
        },
        {
            "name": "laminas/laminas-db",
@@ -4808,16 +4808,16 @@
        },
        {
            "name": "laminas/laminas-view",
            "version": "2.26.0",
            "version": "2.27.0",
            "source": {
                "type": "git",
                "url": "https://github.com/laminas/laminas-view.git",
                "reference": "955c34b8fd0d5bdb28f560e64f510f6b49c7e250"
                "reference": "b7e66e148ccd55c815b9626ee0cfd358dbb28be4"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/laminas/laminas-view/zipball/955c34b8fd0d5bdb28f560e64f510f6b49c7e250",
                "reference": "955c34b8fd0d5bdb28f560e64f510f6b49c7e250",
                "url": "https://api.github.com/repos/laminas/laminas-view/zipball/b7e66e148ccd55c815b9626ee0cfd358dbb28be4",
                "reference": "b7e66e148ccd55c815b9626ee0cfd358dbb28be4",
                "shasum": ""
            },
            "require": {
@@ -4904,7 +4904,7 @@
                    "type": "community_bridge"
                }
            ],
            "time": "2023-01-15T08:16:12+00:00"
            "time": "2023-02-09T16:07:15+00:00"
        },
        {
            "name": "mpdf/mpdf",
@@ -4985,16 +4985,16 @@
        },
        {
            "name": "myclabs/deep-copy",
            "version": "1.11.0",
            "version": "1.11.1",
            "source": {
                "type": "git",
                "url": "https://github.com/myclabs/DeepCopy.git",
                "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
                "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
                "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
                "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
                "shasum": ""
            },
            "require": {
@@ -5032,7 +5032,7 @@
            ],
            "support": {
                "issues": "https://github.com/myclabs/DeepCopy/issues",
                "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
                "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
            },
            "funding": [
                {
@@ -5040,20 +5040,20 @@
                    "type": "tidelift"
                }
            ],
            "time": "2022-03-03T13:19:32+00:00"
            "time": "2023-03-08T13:26:56+00:00"
        },
        {
            "name": "nikic/php-parser",
            "version": "v4.15.3",
            "version": "v4.15.4",
            "source": {
                "type": "git",
                "url": "https://github.com/nikic/PHP-Parser.git",
                "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039"
                "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039",
                "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039",
                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
                "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
                "shasum": ""
            },
            "require": {
@@ -5094,9 +5094,9 @@
            ],
            "support": {
                "issues": "https://github.com/nikic/PHP-Parser/issues",
                "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3"
                "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
            },
            "time": "2023-01-16T22:05:37+00:00"
            "time": "2023-03-05T19:49:14+00:00"
        },
        {
            "name": "ocramius/proxy-manager",
@@ -5684,16 +5684,16 @@
        },
        {
            "name": "setasign/fpdi",
            "version": "v2.3.6",
            "version": "v2.3.7",
            "source": {
                "type": "git",
                "url": "https://github.com/Setasign/FPDI.git",
                "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31"
                "reference": "bccc892d5fa1f48c43f8ba7db5ed4ba6f30c8c05"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/Setasign/FPDI/zipball/6231e315f73e4f62d72b73f3d6d78ff0eed93c31",
                "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31",
                "url": "https://api.github.com/repos/Setasign/FPDI/zipball/bccc892d5fa1f48c43f8ba7db5ed4ba6f30c8c05",
                "reference": "bccc892d5fa1f48c43f8ba7db5ed4ba6f30c8c05",
                "shasum": ""
            },
            "require": {
@@ -5744,7 +5744,7 @@
            ],
            "support": {
                "issues": "https://github.com/Setasign/FPDI/issues",
                "source": "https://github.com/Setasign/FPDI/tree/v2.3.6"
                "source": "https://github.com/Setasign/FPDI/tree/v2.3.7"
            },
            "funding": [
                {
@@ -5752,7 +5752,7 @@
                    "type": "tidelift"
                }
            ],
            "time": "2021-02-11T11:37:01+00:00"
            "time": "2023-02-09T10:38:43+00:00"
        },
        {
            "name": "stella-maris/clock",
@@ -5803,16 +5803,16 @@
        },
        {
            "name": "symfony/console",
            "version": "v5.4.19",
            "version": "v5.4.21",
            "source": {
                "type": "git",
                "url": "https://github.com/symfony/console.git",
                "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740"
                "reference": "c77433ddc6cdc689caf48065d9ea22ca0853fbd9"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740",
                "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740",
                "url": "https://api.github.com/repos/symfony/console/zipball/c77433ddc6cdc689caf48065d9ea22ca0853fbd9",
                "reference": "c77433ddc6cdc689caf48065d9ea22ca0853fbd9",
                "shasum": ""
            },
            "require": {
@@ -5882,7 +5882,7 @@
                "terminal"
            ],
            "support": {
                "source": "https://github.com/symfony/console/tree/v5.4.19"
                "source": "https://github.com/symfony/console/tree/v5.4.21"
            },
            "funding": [
                {
@@ -5898,7 +5898,7 @@
                    "type": "tidelift"
                }
            ],
            "time": "2023-01-01T08:32:19+00:00"
            "time": "2023-02-25T16:59:41+00:00"
        },
        {
            "name": "symfony/deprecation-contracts",
@@ -7647,16 +7647,16 @@
        },
        {
            "name": "microsoft/tolerant-php-parser",
            "version": "v0.1.1",
            "version": "v0.1.2",
            "source": {
                "type": "git",
                "url": "https://github.com/microsoft/tolerant-php-parser.git",
                "reference": "6a965617cf484355048ac6d2d3de7b6ec93abb16"
                "reference": "3eccfd273323aaf69513e2f1c888393f5947804b"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/microsoft/tolerant-php-parser/zipball/6a965617cf484355048ac6d2d3de7b6ec93abb16",
                "reference": "6a965617cf484355048ac6d2d3de7b6ec93abb16",
                "url": "https://api.github.com/repos/microsoft/tolerant-php-parser/zipball/3eccfd273323aaf69513e2f1c888393f5947804b",
                "reference": "3eccfd273323aaf69513e2f1c888393f5947804b",
                "shasum": ""
            },
            "require": {
@@ -7686,9 +7686,9 @@
            "description": "Tolerant PHP-to-AST parser designed for IDE usage scenarios",
            "support": {
                "issues": "https://github.com/microsoft/tolerant-php-parser/issues",
                "source": "https://github.com/microsoft/tolerant-php-parser/tree/v0.1.1"
                "source": "https://github.com/microsoft/tolerant-php-parser/tree/v0.1.2"
            },
            "time": "2021-07-16T21:28:12+00:00"
            "time": "2022-10-05T17:30:19+00:00"
        },
        {
            "name": "netresearch/jsonmapper",
@@ -7743,16 +7743,16 @@
        },
        {
            "name": "pdepend/pdepend",
            "version": "2.12.1",
            "version": "2.13.0",
            "source": {
                "type": "git",
                "url": "https://github.com/pdepend/pdepend.git",
                "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84"
                "reference": "31be7cd4f305f3f7b52af99c1cb13fc938d1cfad"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/pdepend/pdepend/zipball/7a892d56ceafd804b4a2ecc85184640937ce9e84",
                "reference": "7a892d56ceafd804b4a2ecc85184640937ce9e84",
                "url": "https://api.github.com/repos/pdepend/pdepend/zipball/31be7cd4f305f3f7b52af99c1cb13fc938d1cfad",
                "reference": "31be7cd4f305f3f7b52af99c1cb13fc938d1cfad",
                "shasum": ""
            },
            "require": {
@@ -7788,7 +7788,7 @@
            "description": "Official version of pdepend to be handled with Composer",
            "support": {
                "issues": "https://github.com/pdepend/pdepend/issues",
                "source": "https://github.com/pdepend/pdepend/tree/2.12.1"
                "source": "https://github.com/pdepend/pdepend/tree/2.13.0"
            },
            "funding": [
                {
@@ -7796,20 +7796,20 @@
                    "type": "tidelift"
                }
            ],
            "time": "2022-09-08T19:30:37+00:00"
            "time": "2023-02-28T20:56:15+00:00"
        },
        {
            "name": "phan/phan",
            "version": "5.4.1",
            "version": "5.4.2",
            "source": {
                "type": "git",
                "url": "https://github.com/phan/phan.git",
                "reference": "fef40178a952bcfcc3f69b76989dd613c3d5c759"
                "reference": "4f2870ed6fea320f62f3c3c63f3274d357a7980e"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/phan/phan/zipball/fef40178a952bcfcc3f69b76989dd613c3d5c759",
                "reference": "fef40178a952bcfcc3f69b76989dd613c3d5c759",
                "url": "https://api.github.com/repos/phan/phan/zipball/4f2870ed6fea320f62f3c3c63f3274d357a7980e",
                "reference": "4f2870ed6fea320f62f3c3c63f3274d357a7980e",
                "shasum": ""
            },
            "require": {
@@ -7819,7 +7819,7 @@
                "ext-json": "*",
                "ext-tokenizer": "*",
                "felixfbecker/advanced-json-rpc": "^3.0.4",
                "microsoft/tolerant-php-parser": "0.1.1",
                "microsoft/tolerant-php-parser": "0.1.2",
                "netresearch/jsonmapper": "^1.6.0|^2.0|^3.0|^4.0",
                "php": "^7.2.0|^8.0.0",
                "sabre/event": "^5.1.3",
@@ -7873,9 +7873,9 @@
            ],
            "support": {
                "issues": "https://github.com/phan/phan/issues",
                "source": "https://github.com/phan/phan/tree/5.4.1"
                "source": "https://github.com/phan/phan/tree/5.4.2"
            },
            "time": "2022-08-26T00:49:07+00:00"
            "time": "2023-03-03T17:20:24+00:00"
        },
        {
            "name": "phpcompatibility/php-compatibility",
@@ -8255,16 +8255,16 @@
        },
        {
            "name": "squizlabs/php_codesniffer",
            "version": "3.7.1",
            "version": "3.7.2",
            "source": {
                "type": "git",
                "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
                "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619"
                "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619",
                "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619",
                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879",
                "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879",
                "shasum": ""
            },
            "require": {
@@ -8300,14 +8300,15 @@
            "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
            "keywords": [
                "phpcs",
                "standards"
                "standards",
                "static analysis"
            ],
            "support": {
                "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
                "source": "https://github.com/squizlabs/PHP_CodeSniffer",
                "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
            },
            "time": "2022-06-18T07:21:10+00:00"
            "time": "2023-02-22T23:07:41+00:00"
        },
        {
            "name": "symfony/config",
+63 −9
Original line number Diff line number Diff line
@@ -29,14 +29,27 @@
                    <div class="num-jour badge bg-secondary rounded-circle">{{ jour < 10 ? '0' + jour.toString() : jour }}</div>
                </th>
                <td>
                    <div>
                        <div class="alert alert-info" v-for="event in eventsByJour(jour)">
                            <component :is="event.component" :event="event"/>
                    <div class="event" :style="'border-color:'+event.color" v-for="(event,index) in eventsByJour(jour)" :key="index">
                        <div class="event-content">
                            <component :is="event.component" :event="event"></component>
                        </div>
                        <div class="event-actions">
                            <div class="btn-group btn-group-sm">
                                <button class="btn btn-light" @click="editEvent" :data-index="index">
                                    <u-icon name="pen-to-square"/>
                                </button>
                                <button class="btn btn-light" @click="deleteEvent" :data-index="index">
                                    <u-icon name="trash-can" class="text-danger"/>
                                </button>
                            </div>
                        </div>
                    </div>

                    <div v-if="canAddEvent">
                        <button @click="addEvent" :data-jour="jour" class="btn btn-light btn-sm"><u-icon name="plus" /> Nouvel événement</button>
                        <button @click="addEvent" :data-jour="jour" class="btn btn-light btn-sm">
                            <u-icon name="plus"/>
                            Nouvel événement
                        </button>
                    </div>
                </td>
            </tr>
@@ -74,7 +87,7 @@ export default {
            let nombreJours = dateObj.getDate();

            return Array.from({length: nombreJours}, (v, k) => k + 1)
        }
        },
    },
    watch: {
        date: function (newVal, oldVal) { // watch it
@@ -137,11 +150,23 @@ export default {
        addEvent(event)
        {
            const dateObj = new Date(this.date);
            dateObj.setDate(event.target.dataset.jour);
            dateObj.setDate(event.currentTarget.dataset.jour);

            this.$emit('addEvent', dateObj);
        },

        editEvent(event)
        {
            const index = event.currentTarget.dataset.index;
            this.$emit('editEvent', this.events[index]);
        },

        deleteEvent(event)
        {
            const index = event.currentTarget.dataset.index;
            this.$emit('deleteEvent', this.events[index]);
        },

        prevMois()
        {
            const dateObj = new Date(this.date);
@@ -162,14 +187,14 @@ export default {
        {
            const dateObj = new Date(this.date);

            let res = [];
            let res = {};
            for (let e in this.events) {
                let event = this.events[e];
                if (event.date.getFullYear() === dateObj.getFullYear()
                    && event.date.getMonth() + 1 === dateObj.getMonth() + 1
                    && event.date.getDate() === jour
                ) {
                    res.push(event);
                    res[e] = event;
                }
            }
            return res;
@@ -180,8 +205,14 @@ export default {

<style scoped>

.table tr {
    background-color: #f4f4f4;
    border-left: 1px #ddd solid;
    border-right: 1px #ddd solid;
}

.table-hover tr:hover {
    background-color:lightyellow;
    background-color: #f7f7f7;
}

.recherche {
@@ -199,6 +230,7 @@ export default {

th.nom-jour {
    width: 1%;
    padding-left: 3px;
}

th.numero-jour {
@@ -211,4 +243,26 @@ th.numero-jour {
    padding-bottom: 5px;
}


.event {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3px;
    border-left: 10px #bbb solid;
    border-right: 10px #bbb solid;
}

.event:hover {
    background-color: white;
}

.event-content {
    flex-grow: 1;
}

.event-actions {
    align-self: flex-start;
}

</style>
 No newline at end of file
+45 −0
Original line number Diff line number Diff line
<template>
    <div class="mb-2">
        <label :for="id ? id : name" class="form-label">{{ label }}</label>
        <input type="date" :name="name" :id="id ? id : name" class="form-control" v-model="dateVal" :disabled="disabled"/>
    </div>
</template>

<script>
export default {
    name: "UFormDate",
    props: {
        id: {type: String, required: false},
        name: {type: String, required: true},
        label: {type: String, required: true, default: 'Inconnu'},
        modelValue: {required: true, default: undefined},
        disabled: {type: Boolean, required: false, default: false},
    },
    data()
    {
        return {
            dateVal: undefined
        };
    },
    watch: {
        modelValue: function (val) {
            let value = val;
            if (val instanceof Date) {
                value = Util.dateToString(val);
            }
            if (val instanceof String) {
                value = val.slice(0, 10);
            }

            this.dateVal = value;
        },
        dateVal: function (val) {
            this.$emit("update:modelValue", new Date(val));
        },
    }
}
</script>

<style scoped>

</style>
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ export default {
    methods: {
        ajout(event)
        {
            modAjax(event.target, (widget) => {
            modAjax(event.currentTarget, (widget) => {
                this.reload();
            });
        },
+10 −10
Original line number Diff line number Diff line
@@ -212,46 +212,46 @@ export default {
        },
        saisie(event)
        {
            modAjax(event.target, (widget) => {
            modAjax(event.currentTarget, (widget) => {
                this.refresh();
            });
        },
        supprimer(event)
        {
            popConfirm(event.target, (response) => {
            popConfirm(event.currentTarget, (response) => {
                this.$emit('supprimer', this.mission);
            });
        },
        valider(event)
        {
            popConfirm(event.target, (response) => {
            popConfirm(event.currentTarget, (response) => {
                this.$emit('refresh', response.data);
            });
        },
        devalider(event)
        {
            popConfirm(event.target, (response) => {
            popConfirm(event.currentTarget, (response) => {
                this.$emit('refresh', response.data);
            });
        },
        volumeHoraireSupprimer(event)
        {
            event.target.href = Util.url('mission/volume-horaire/supprimer/:missionVolumeHoraire', {missionVolumeHoraire: event.target.dataset.id});
            popConfirm(event.target, (response) => {
            event.currentTarget.href = Util.url('mission/volume-horaire/supprimer/:missionVolumeHoraire', {missionVolumeHoraire: event.currentTarget.dataset.id});
            popConfirm(event.currentTarget, (response) => {
                this.$emit('refresh', response.data);
            });
        },
        volumeHoraireValider(event)
        {
            event.target.href = Util.url('mission/volume-horaire/valider/:missionVolumeHoraire', {missionVolumeHoraire: event.target.dataset.id});
            popConfirm(event.target, (response) => {
            event.currentTarget.href = Util.url('mission/volume-horaire/valider/:missionVolumeHoraire', {missionVolumeHoraire: event.currentTarget.dataset.id});
            popConfirm(event.currentTarget, (response) => {
                this.$emit('refresh', response.data);
            });
        },
        volumeHoraireDevalider(event)
        {
            event.target.href = Util.url('mission/volume-horaire/devalider/:missionVolumeHoraire', {missionVolumeHoraire: event.target.dataset.id});
            popConfirm(event.target, (response) => {
            event.currentTarget.href = Util.url('mission/volume-horaire/devalider/:missionVolumeHoraire', {missionVolumeHoraire: event.currentTarget.dataset.id});
            popConfirm(event.currentTarget, (response) => {
                this.$emit('refresh', response.data);
            });
        },
Loading