Commit 46752c41 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Possibilité de modifier les créneaux Hors-Lots

parent 229b90ba
Loading
Loading
Loading
Loading
+2 −472

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1

File changed.

Preview size limit exceeded, changes collapsed.

+2 −0
Changes for public/js/oscar/dist/timesheetmonth.css: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
.repport-item .icon-attention-circled{display:none}.repport-item.excess{color:#900;border-left:4px solid red}.repport-item.excess .icon-attention-circled{display:inline-block}.loading-message{background:#fff;font-size:1em;position:fixed;z-index:10000;bottom:0;right:0;padding:.3em 1em;border-radius:8px 0 0 0}.interaction-off{cursor:default;pointer-events:none}.interactive-icon-big{font-size:32px;cursor:pointer}.card.closed,.card.locked{opacity:.7}.card.closed .week-header,.card.locked .week-header{cursor:default}.card.closed{opacity:.4}.card.closed .week-header{cursor:default}article.wp,article.wp h3{font-size:1.2em}article.wp h3{margin:0;padding:0}.has-titled-error{color:darkred;cursor:help}.menu-wps{padding:2px 4px;-webkit-box-shadow:0 0 1em rgba(0,0,0,.3);box-shadow:0 0 1em rgba(0,0,0,.3);font-size:12px;margin:0;padding:0}.menu-wps>li{cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:background-color .5s ease-out;transition:background-color .5s ease-out;border-bottom:thin solid rgba(0,0,0,.4);padding:2px 4px;text-shadow:-1px 1px 0 rgba(0,0,0,.1)}.menu-wps>li .icon-angle-right{color:#fff;position:relative;left:-25px;opacity:0;-webkit-transition:left .3s ease-out,opacity .5s ease-out;transition:left .3s ease-out,opacity .5s ease-out;margin-left:auto}.menu-wps>li .acronym{font-weight:700}.menu-wps>li .acronym:after{content:":"}.menu-wps>li.selected,.menu-wps>li:hover{background:#0b58a2;color:#fff}.menu-wps>li.selected .icon-angle-right,.menu-wps>li:hover .icon-angle-right{left:0;opacity:1}.daymenu{position:fixed;background:#fff;z-index:100}.daymenu .selector,.month-header{display:-webkit-box;display:-ms-flexbox;display:flex}.month-header{line-height:30px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;justify-items:center}.month-header strong{font-weight:100;display:block;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 14.285714286%;flex:0 0 14.285714286%;background:#efefef;color:#5c9ccc;border-left:thin solid #fff}.periode{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.periode strong{display:inline-block;width:10em;text-align:center}.week{border:2px solid #fff;margin:2px 0}.week .days{background-image:url("/images/bg-lock.gif")}.week .days .day{background:#efefef}.week.selected{background:rgba(128,183,236,.25);border-color:#80b7ec;-webkit-box-shadow:0 -4px 4px rgba(0,0,0,.2);box-shadow:0 -4px 4px rgba(0,0,0,.2)}.week.selected .week-header{background-color:#80b7ec;color:#fff}.week.selected .week-header span{text-shadow:-1px 1px 0 rgba(0,0,0,.2)}.week.selected .day{border-color:#80b7ec}.week .day.error{background:#d14!important}.heure-total{display:inline-block;width:5em}.month-header .week-header,.week-header{background-color:hsla(0,0%,100%,.5);-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;text-align:left;font-size:1em;padding:0 .8em;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.month-header .week-header span,.week-header span{font-weight:700;-webkit-box-flex:1;-ms-flex:1;flex:1}.month-header .week-header small.subtotal,.week-header small.subtotal{-webkit-box-flex:0;-ms-flex:0;flex:0}.month-header .week-header small,.week-header small{justify-self:flex-end;-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:right;margin-left:auto}.month-header .week-header small em,.week-header small em{color:#5c646c}.table-recap.table-bordered{font-size:.7em}.table-recap.table-bordered h2,.table-recap.table-bordered h3{font-size:1.25em;margin:0}.table-recap.table-bordered th{font-weight:400}.table-recap.table-bordered th.total{text-align:right;font-weight:700;font-size:1.1em}.table-recap.table-bordered td:nth-child(odd),.table-recap.table-bordered thead th:nth-child(odd){background-color:#efefef}.table-recap.table-bordered thead th{text-align:center}.table-recap.table-bordered tr td{text-align:right}.table-recap.table-bordered tr td,.table-recap.table-bordered tr th{padding:2px}.days{display:-webkit-box;display:-ms-flexbox;display:flex}.days .day{position:relative;background:hsla(0,0%,100%,.25);-webkit-transition:background-color .3s linear;transition:background-color .3s linear;border:thin solid #fff;-webkit-box-flex:0;-ms-flex:0 0 14.285714286%;flex:0 0 14.285714286%;overflow:hidden;cursor:pointer;min-height:50px}.days .day .label{position:absolute;bottom:0;right:0;display:block;font-size:12px;text-align:right;text-shadow:-1px 1px 1px hsla(0,0%,100%,.3);color:#787171}.days .day .cartouche em{max-width:3em;overflow:hidden;display:inline-block;white-space:nowrap}.days .day:hover{background:#fff}.days .day.selected{background:#5c9ccc}.days .day.locked{cursor:not-allowed;background:hsla(0,0%,80%,.8)}.week:first-child .days{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.week:last-child .days{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.cartouche[data-v-3977717c]{white-space:nowrap;margin:0;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;font-size:.75em}.cartouche.training[data-v-3977717c]{background-color:#0b58a2}.cartouche.sickleave[data-v-3977717c]{background-color:olive}.cartouche.wp[data-v-3977717c]{background-color:#6a5999}.cartouche.conflict[data-v-3977717c]{background:#a00}.wp-duration{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:thin solid #fff;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wp-duration strong small{font-weight:100}.wp-duration[class*=status-]{border-left:4px solid #ddd}.wp-duration.status-5{border-left-color:#0b58a2}.wp-duration .icon-comment{color:#ccc}.wp-duration .icon-comment.with-comment{color:#000}.left{-webkit-box-flex:0;-ms-flex:0 0 35px;flex:0 0 35px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:8px;border-left:thin solid #fff}.total{margin-left:auto;font-size:1.4em;font-weight:700;padding-right:.5em}.total em{font-size:.5em;font-weight:100;line-height:2em}[class*=icon-]{text-align:center}.icon-edit,.icon-trash{cursor:pointer;text-align:center}.icon-edit:hover,.icon-trash:hover{background:#0b58a2;color:#fff}.timesheet-item[data-v-23248056]{background:#fff;cursor:pointer;border:thin solid #5c6970;margin:.3em 0;font-size:1em;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-transition:all .3s;transition:all .3s}.timesheet-item>[data-v-23248056]{padding:.3em .5em}.timesheet-item .project-acronym[data-v-23248056]{-webkit-transition:all .3s;transition:all .3s;position:relative;display:inline-block;padding-right:.8em;padding-left:.8em;color:#abb5ba;background:#5c6970;text-shadow:-1px 1px 0 rgba(0,0,0,.3);font-weight:700}.timesheet-item .project-acronym[data-v-23248056]:before{-webkit-transition:all .3s;transition:all .3s;content:" ";width:1em;height:1em;background:hsla(0,0%,100%,0);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:-.6em;top:.6em;z-index:10000}.timesheet-item .activity-label[data-v-23248056]{-webkit-transition:all .3s;transition:all .3s;position:relative;display:inline-block;padding-left:1em;padding-right:1em;background:#abb5ba;color:#171a1c;font-size:.8em;line-height:2em}.timesheet-item .activity-label[data-v-23248056]:before{-webkit-transition:all .3s;transition:all .3s;content:" ";width:1.2em;height:1.2em;background:#5c6970;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:-.6em;top:.6em;z-index:10000}.timesheet-item .workpackage-infos[data-v-23248056]{-webkit-transition:all .3s;transition:all .3s;position:relative;padding-left:1em}.timesheet-item .workpackage-infos[data-v-23248056]:before{-webkit-transition:all .3s;transition:all .3s;content:" ";width:1em;height:1em;background:#abb5ba;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:-.6em;top:.5em;z-index:10000}.timesheet-item.selected[data-v-23248056],.timesheet-item[data-v-23248056]:hover{background:#fff;border:thin solid #08c;color:#08c}.timesheet-item.selected .project-acronym[data-v-23248056],.timesheet-item:hover .project-acronym[data-v-23248056]{color:#9df;background:#08c}.timesheet-item.selected .activity-label[data-v-23248056],.timesheet-item:hover .activity-label[data-v-23248056]{background:#6cf;color:#023}.timesheet-item.selected .activity-label[data-v-23248056]:before,.timesheet-item:hover .activity-label[data-v-23248056]:before{background:#08c}.timesheet-item.selected .workpackage-infos[data-v-23248056]:before,.timesheet-item:hover .workpackage-infos[data-v-23248056]:before{background:#6cf}.timesheet-item.horslots-item .workpackage-infos[data-v-23248056]{-webkit-box-flex:1;-ms-flex:1;flex:1}.timesheet-item.horslots-item .activity-label[data-v-23248056]:before{content:none}.timesheet-item.horslots-item .workpackage-infos[data-v-23248056]:before{background:#5c6970;top:.8em}.timesheet-item.horslots-item.selected .workpackage-infos[data-v-23248056]:before,.timesheet-item.horslots-item:hover .workpackage-infos[data-v-23248056]:before{background:#08c}.timesheet-item.selected[data-v-23248056]{-webkit-box-shadow:.25em 0 .5em rgba(0,136,204,.8);box-shadow:.25em 0 .5em rgba(0,136,204,.8)}.timesheet-item.selected .project-acronym[data-v-23248056]:before{background:#fff}.ui-timechooser[data-v-044d2ea8]{background:#fff;max-width:450px;margin:0 auto}.ui-timechooser .percents[data-v-044d2ea8]{display:-webkit-box;display:-ms-flexbox;display:flex}.ui-timechooser .percents span[data-v-044d2ea8]{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:2px 4px;text-align:center;font-size:2em;cursor:pointer}.ui-timechooser .percents span.selected[data-v-044d2ea8],.ui-timechooser .percents span[data-v-044d2ea8]:hover{background-color:#0b58a2;color:#fff}.ui-timechooser .hours[data-v-044d2ea8]{font-size:48px;text-align:center;font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex;justify-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:2em}.ui-timechooser .hours .sel[data-v-044d2ea8]{border:thin solid #ddd;padding:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.ui-timechooser .hours .sel i[data-v-044d2ea8]{font-size:1em;cursor:pointer;text-shadow:0 0 4px rgba(0,0,0,.1)}.ui-timechooser .hours .sel i[data-v-044d2ea8]:hover{background:#5c9ccc;color:#fff}.ui-timechooser .hours .separator[data-v-044d2ea8]{color:red}
/*# sourceMappingURL=timesheetmonth.css.map*/
 No newline at end of file
+1 −0

File added.

Preview size limit exceeded, changes collapsed.

+12 −44
Changes for public/js/oscar/src/TimesheetMonth.vue: 12 added lines, 44 removed lines.
Original line number Diff line number Diff line
@@ -387,6 +387,7 @@
                                          :workPackages="ts.workpackages"
                                          :others="ts.otherWP"
                                          :selection="selectionWP"
                                          :editable="ts.editable"
                                          :label="dayLabel"
                                          :day-excess="ts.dayExcess"
                                          :copiable="clipboardDataDay"
@@ -475,6 +476,7 @@
                            <strong>{{ (selectedWeek.totalOpen - selectedWeek.total) | duration }} heure(s)</strong>
                            avec une des activités ci-dessous :
                        </p>

                        <wpselector :others="ts.otherWP" :workpackages="ts.workpackages" :selection="fillSelectedWP"
                                    @select="fillSelectedWP = $event; fillWeek(selectedWeek, fillSelectedWP);"
                                    :usevalidation="true"></wpselector>
@@ -1389,15 +1391,20 @@
            },

            editTimesheet(timesheet, day) {

                this.editedTimesheet = timesheet;
                this.commentaire = timesheet.comment;
                this.selectedDay = day;
                this.dayMenuTime = timesheet.duration;

                if (timesheet.wp_id) {
                    this.selectionWP = this.getWorkpackageById(timesheet.wp_id);
                }
                else if (timesheet.code) {
                    this.selectionWP = this.getHorsLotByCode(timesheet.code);
                }
            },

            getHorsLotByCode(code){
                return this.ts.otherWP[code];
            },

            getWorkpackageById(id) {
@@ -1406,51 +1413,18 @@

            reSendPeriod(periodValidation) {
                this.sendMonth("resend");

                // if (periodValidation.status != 'conflict') {
                //     this.error = 'Vous ne pouvez pas soumettre cette déclaration, status incorrect';
                //     return;
                // }
                //
                // this.bootbox.confirm('Réenvoyer la déclaration ?', ok => {
                //     if (ok) {
                //         // Données à envoyer
                //         var datas = new FormData();
                //         datas.append('action', 'resend');
                //         datas.append('period_id', periodValidation.id);
                //
                //         this.loading = true;
                //
                //         this.$http.post('', datas).then(
                //             ok => {
                //                 this.fetch();
                //             },
                //             ko => {
                //                 this.error = AjaxResolve.resolve('Impossible d\'envoyer la période', ko);
                //             }
                //         ).then(foo => {
                //             this.selectedWeek = null;
                //             this.loading = false;
                //         });
                //     }
                // })
            },

            sendMonth(action="sendmonth") {

                this.sendaction = action;

                if ( !(this.ts.submitable == true || this.ts.hasConflict == true) ) {
                    this.error = 'Vous ne pouvez pas soumettre vos déclarations pour cette période : ' + this.ts.submitableInfos;
                    return;
                }

                let aggregatProjet = {};

                Object.keys(this.ts.days).forEach(d => {

                    let day = this.ts.days[d];

                    if( day.othersWP && day.othersWP.length ){
                        day.othersWP.forEach(timesheet => {
                           let key = timesheet.code;
@@ -1474,8 +1448,6 @@
                            aggregatProjet[key].push(timesheet.comment);
                        }
                    });


                });

                Object.keys(aggregatProjet).forEach(id => {
@@ -1514,7 +1486,6 @@

            fillWeek(week, wp) {
                let data = [];

                week.days.forEach(d => {
                    if (!(d.closed || d.locked || d.duration >= d.dayLength)) {
                        data.push({
@@ -1630,7 +1601,6 @@

                this.loading = "Enregistrement des créneaux";

                //this.$http.post('/feuille-de-temps/declarant-api', formData).then(
                this.$http.post(this.url, formData).then(
                    ok => {
                        this.fetch(false);
@@ -1741,6 +1711,7 @@
                    this.fetch(true);
                }
            },

            fetch(clear = true) {

                this.loading = "Chargement de la période";
@@ -1755,7 +1726,6 @@
                if (this.selectedDay)
                    daySelected = this.selectedDay.i;


                this.$http.get(this.url + '&month=' + this.month + '&year=' + this.year).then(
                    ok => {
                        this.dayLength = ok.body.dayLength;
@@ -1775,6 +1745,8 @@
                });
            }
        },


        mounted() {
            moment = this.moment;
            this.month = this.defaultMonth;
@@ -1789,10 +1761,6 @@
                    this._colorsProjects = {};
                }
            }




            this.fetch(true)
        }
    }
Loading