*** Version 24.10.09 (2025-03-06) *** - Fixes MT47685: An level 1 admin can delete another agent absence when Absences-validation is disabled #1115 MT47572: Do not cross out agents with refused absences #1118 MT47806: Fix Undefined property: App\Controller\StatisticController::config #1120 - Documentation MT45507: Add position parameter to include it in public service quota #1119 *** Version 24.10.08 (2025-02-14) *** -Fixes MT46949: Fix getRecipients to handle empty values for Absences-notifications-* #1107 MT47037: Hide copy/delele icons from working hour list when not admin #1109 MT47249: ICS import: init variables motif and motif_autre #1110 MT47194: Allow users to delete their own absences #1111 MT47535: Fix deletion of AdminInfo, AbsenceInfo and AbsenceBlock #1112 MT41625: Fix planning menu display on smartphones #1113 MT43912: Use CJInfo for missing category A display #1114 - Enhancement MT45507: Add position parameter to include it in public service quota #1108 *** Version 24.10.07 (2025-01-24) *** - Fixes MT45706: Use a helper to convert durations from decimal to hh:mm and vice-versa #1100 MT46909: Use HTML5 Doctype for Emails #1106 *** Version 24.10.06 (2025-01-17) *** - Fixes MT46921: Initialize variables in class absences - Enhancements MT46713: Improve filtering of absences and holidays displayed under plannings #1104 *** Version 24.10.05 (2024-12-20) *** - Fixes MT46813: Fix undo/redo functions #1103 *** Version 24.10.04 (2024-12-19) *** - Fixes MT46682: do not cross out positions compatible with teleworking when there are teleworking absences #1098 Issue #1087: fix link to JS file in templates/agents/edit #1099 MT46717: Enhance Statistics by Position #1101 - Plumbing MT44184: use symfony/html-sanitizer instead of htmlpurifier #1102 *** Version 24.10.03 (2024-12-13) *** - Fixes MT46579: Agents are no longer displayed "deleted" #1091 MT46575: ICS Export: Schedules are exported if absences are ignored #1093 MT46598: use jQuery-UI standard classes for dialogboxes #1095 - Enhancements MT46595: update-db: display SQL queries with option -v #1094 - Security MT46605: composer update #1096 *** Version 24.10.02 (2024-12-02) *** - Fixes Issue #394: Check if a holiday exists before deleting it #1083 MT44528: Fix weekly average in statistics #1085 MT44985: Framework hours edition: Next start time change only if the … #1089 - Enhancements MT43946: Add unsubscribe link in Planno's emails headers. #1079 MT46227: MS Graph: do not import the subject if the event is private #1086 MT44566: Adapt OpenID connector to Google #1088 MT46229: Allow the assignment of absent agents to schedules #1090 *** Version 24.10.01 (2024-10-27) *** - Fixes Issue #1082: Fix undefined key "deleted" in absences/edit.html.twig *** Version 24.10.00 (2024-10-21) *** *** Version 24.05.08 (2024-10-21) *** - Fixes MT45847: fix recording of negative recovery credits *** Version 24.05.07 (2024-09-26) *** - Fixes MT45495: Allow edition of absences that include deleted agents #1075 MT45462: fix initialization of drop-down menus of the manager module #1076 MT45641: Send a separate email to each recipient (no longer use Cci)#1077 *** Version 24.05.06 (2024-09-19) *** - Enhancements MT45515: Enhance planning's notifications #1074 - Fixes MT45381: Fix validation status display in working hours #1073 MT45069: fix maj.php (19.11: change column if exists recup_samedi) *** Version 24.05.05 (2024-09-05) *** - Fixes MT45421: Fix Undefined constant HEADER_X_FORWARDED_ALL #1072 *** Version 24.05.04 (2024-08-30) *** MT44490: Fix weekly average in statistics #1058 MT45306: ImportMSGraph not verbose by default #1067 MT44970: Remove alert interval greater than one year on absence search #1069 *** Version 24.05.03 (2024-08-30) *** - Fixes MT45308: CircleCi: Fix dependency problems #1068 MT45359: Fix HolidayControllerListTest #1070 - Security MT44183 Upgrade to Symfony 6.4 #1071 *** Version 24.05.02 (2024-07-19) *** - Fixes MT44586: Remove HTML entities from framework titles #1046 MT44884: Remove free breaks from quotas #1049 MT44663: Planook: Disable cell graying #1053 - Enhancements MT44618: Planook config: Granularite=15; nb_semaine=1,2 #1047 MT44776: Allow to choose the layout for creating logins #1052 MT45026: Planook: Allow sending passwords by email #1054 - Plumbing MT44619: Delete unsed function AgentController::sites #1048 - Security MT45034: Update dependencies *** Version 24.05.01 (2024-05-27) *** - Fixes MT40420: Fix the calculation of the free break #913 MT44093: Fix the display of holiday credits on the My Account page #1025 MT44107: Fix PlanningJobControllerTest::testContextMenuWithAgentsIndispo #1027 MT44125: deny the deletion of validated holiday #1028 MT44129: HolidayRepository::get no longer return deletion information #1029 MT44224: Fixes information about events imported from Office 365 #1034 MT44329: When multiple recipents are given, Mail-From is used as TO #1039 MT44379: Add LDIF-Encoding param + Fix import #1040 MT43652: Login case insensitive with OpenIDConnect #1041 MT43965: Add the link to the overtime registration request in the notification email #1043 - Enhancements MT44098: Show used positions only in statistics #1026 MT44188: Choose the Office 365 calendars to import #1033 MT44018: Allow to change memory_limit from .env files #1035 MT44018: Optimize statistics #1038 - Plumbing MT44207: update install.sh #1031 - Security MT44262: Compatibility PHP 8.3, remove depreciations, fix unit tests #1042 *** Version 24.05.00 (2024-04-16) *** *** Version 23.11.13 (2024-03-29) *** - Enhancements MT43887: update database via composer #1020 *** Version 23.11.12 (2024-03-29) *** - Fixes MT43984: Display the correct date on non-validated schedules in week view #1024 *** Version 23.11.11 (2024-03-22) *** - Fixes MT42825: Fix calculation of absence time #1018 MT43807: Correctly display negative values in anticipation counters #1019 MT43797: Prevent modification of validated holiday and overtime #1021 MT43926: Test if the URL is valid in CJICS::purge #1022 MT43653: Count holidays in statistics. Fix using wrong variable #1023 *** Version 23.11.10 (2024-03-08) *** - Fixes MT42041: Fix "show table status" queries #944 #1005 MT42628: Purge calendars when their checkbox is unchecked #1006 MT41791: Do not show 'Everybody' in agent lists #1007 MT43653: Count holidays in statistics #1009 MT43164: Display the agent's name in the holiday list whatever the validation level #1011 MT43770: Prohibit the modification of imported absences #1012 MT43773: ICS Export: Remove line breaks from summary #1013 - Security MT41345: Enhance CSRF protection #1008 Update dependencies - Enhancements MT43743: Standardize the statistics buttons #1010 MT43666: Optimize StatisticController #1015 MT43804: Optimize PresentSet::all #1017 *** Version 23.11.09 (2024-02-22) *** - Fixes MT43600: Fix error deleting informational messages #1003 MT43534: Fix PresentSet::all when called in loop (Statistics / attendees - missing) #1004 *** Version 23.11.08 (2024-02-09) *** - Fixes MT42886: fix the calculation of the forecast credit of compensatory time #992 MT43374: Fix check of admin level 2 rights in Holiday Controller #993 MT35818: Remove locks from plannings before imports #994 MT40653: Right copy does not return to top of page #999 MT43319: allow the deletion of non-validated holiday #1000 MT43489: Allow user to delete their own absences with the correct ACL #1001 - Plumbing MT42880: New release format -Security Update dependencies *** Version 23.11.07 (2024-01-30) *** - Plumbing MT42880: Enhance do_minor_release.sh *** Version 23.11.06 (2024-01-30) *** - Plumbing MT42880: New release format (23.11.06). The last 3 digits are deleted. *** Version 23.11.00.005 (2024-01-26) *** - Fixes MT43165: deny overtime change when validated level 1 #989 MT43362: Fix ErrorHighlight error on calendar.js #990 MT43231: Import agents if there is conflict on non-blocking positions #991 *** Version 23.11.00.004 (2024-01-23) *** - Enhancements MT42600: Implement Open ID Connect #881 MT42575: CircleCI tests with MariaDB 10.11 #964 MT42643: Move command PlanningBiblio:PurgeLogTable to app:purge-log-table #967 - Fixes MT42815: Escape teleworking reasons when sending planning notifications #978 MT43032: Restore anonymous login #982 MT43036: Fix a calculation error on statistics per agent #983 MT41560: ICS, check if the URL returns a 200 response #985 MT43200: fix cron.deleteOldDocuments.php #986 MT43250: Import MS Graph : ignore statuses free and tentative #987 MT42522: ICS Import: import the description depending on the configuration #988 - Security MT42999: Update composer #981 *** Version 23.11.00.003 (2023-12-22) *** - Enhancements MT40023: Stats/Agent: Do not show agents never selected and not in selected sites #970 MT42470: Enhance CSS #965 - Fixes MT42875: Week number in week cycle should not be reset on new year #980 MT42872: add symfony/mime to display attachments #976 MT42541: Fix migration scripts #963 *** Version 23.11.00.002 (2023-11-30) *** - Enhancements MT42530 : Filter by site the list of presents displayed under the schedules - Fixes MT40171: Rename Planning Biblio to Planno MT42596: Escape teleworking reasons on planning context menu MT42693: Disable Absence Block on Planook config MT41900: Replace HTTP method DEL with DELETE MT40009: Fix comp time display in 'My Account' when negative MT42019: Use HTML Purifier to sanitize planning comments and model names *** Version 23.11.00.001 (2023-10-27) *** - Plumbing MT41281: Move planning_hebdo cron files to src/Cron #389 *** Version 23.11.00.000 (2023-10-26) *** - Fixes MT41027: Add absence block, correctly define absence hours #961 MT42098: importMSGraphCalendar return 0 on success #957 MT42339: Handle SSO tickets in the Login Listener #955 MT41956: Fix weekly averages in agent and service statitics #947 MT41957: Fix hours statistics by status #946 MT41845: Check invitation acceptance when importing ICS events #943 MT41894: Fix warning undefined array key VEVENT when importing ics calendars #942 MT41650: Use utf8-aware function mb_substr (instead of substr) in plannings #937 MT41312: fix statistic by time export #931 - Documentation MT41027: Documentation of the absence blocking function #941 - Enhancements MT40642: Add LDIF import capabilities #954 MT41028: Change the warning message for reccuring absences with end date #951 - Plumbing Bump composer/composer from 1.10.26 to 1.10.27 #950 MT42179: Upgrade symfony from version 4.4 to 5.4 #948 MT39367: Remove FILTER_SANITIZE_STRING depreciations #823 Added unit tests for Legal notices #843 Add unit tests for Framework Controller #836 Added test for WorkingHour right with Absences-notifications-agent-par-agent #793 Added test for holiday right with Absences-notifications-agent-par-agent #792 Add unit tests for Add Holiday Controller #790 Add Unit test for Add Overtime Controller #750 MT41281: Move planning_hebdo cron files to src/Cron #389 *** Version 23.05.00.004 (2023-07-26) *** - Enhancements MT41027: Add absence block #932 - Fixes MT41411: Use utf8-aware function mb_substr (instead of substr) in plannings #934 - Plumbing MT41498: ICS export symfonization #935 Added unit tests for context menu #845 Add unit tests for PresentSet class #841 Unit test model AbsenceDocument #840 *** Version 23.05.00.003 (2023-06-29) *** - Fixes MT41151: Allow /holiday/accounts to be displayed in days #930 MT41068: Fix absence statistics display when PlanningHebdo is disabled #928 MT41169: Add the background color on Datatable's select #926 MT41168: Fix the site selection on statistics / absences #925 MT40199: Remove the padlock when deleting plannings #923 MT39946: Fix time format parameter for ajax call in absence add #920 MT41131: Fix typo in templates/conges/add.html.twig #919 MT41094: Don't check journey time between areas when there is only one area #918 MT41069: Show borders of all cells in statistics tables #917 MT41036: Fix malformed dates on unit tests #915 MT40945: Fix the logo's link #914 MT31709: Verify only the agent sites when checking for started plannings #892 - Enhancements MT41142: Color the logged in agent #924 MT41030: Allow to narrow ICS exports to a number of days in the past #922 MT41028: Show an alert when a recurring absence is added and the enddate is set #921 MT40851: Make Statistics/time table not responsive. #912 *** Version 23.05.00.002 (2023-05-12) *** - Fixes MT40836: Optimize the Planook's logo size #911 MT40688: get better performance when displaying statistics on absences #909 MT40725/MT38947: Fix display of groups-free position in time statistics, Follow up #906 - Security Bump guzzlehttp/psr7 from 2.4.4 to 2.5.0 #905 - Enhancements MT40441: Allow direct validation of compensatory time when Conges-val… #894 *** Version 23.05.00.001 (2023-04-19) *** MT40694_1: Restore cmp_debut_fin function *** Version 23.05.00 (2023-04-18) *** 20230131 depreciations #862 MT39894: disable calendar synchronizations for new agents by default #901 *** Version 22.11.07 (2023-04-17) *** - Fixes MT39966: Fix comments display under plannings #900 MT39836: interpret html tags on comments in weekly view #899 MT40252: don't show the alert "select more than 1 year", follow up #897 MT40456: fix error 'La demande doit être effectuée dans les 0 jours' #896 MT39529: Fix erroneous message on absence add #883 - Security Add unit tests for password change with CSRF protection #895 - Enhancements MT39901: Responsive Compatibility #886 *** Version 22.11.06 (2023-03-16) *** - Fixes: MT40252: don't show the alert "please select more than 1 year" on leap years #889 MT39878: fix undefined variable when using CAS-SQL mode and APP_DEBUG=1 #876 MT37657: Add IF NOT EXISTS on the create table absences_documents query #882 MT39693: Show closingday in menu only if Conges-Enable is enabled #884 MT39992: the week view take into account the site parameter #877 MT39412: the datefull twig filter now interpret html tags #864 - Plumbing: Bump symfony/http-kernel from 4.4.48 to 4.4.50 *** Version 22.10.05 (2023-02-23) *** - Enhancements MT39895: Add throttle to overtime edits #870 MT39034: Add throttle to holiday edits #867 - Fixes MT39696: Set Recup-DelaiDefaut to 0 if not correctly set. #880 MT39491: Fix save agent save when holidays values are empty #879 MT39548: Fix models deletion #875 MT39958: Display the time of absence registrations #873 MT39932 - remove HTML entities from frameworks title #871 *** Version 22.10.00 (2022-11-18) *** - Enhancements Make disabled notifications should not be considered as an error Ignore absence for remote working when importing planning template Absence deletion does not affect the pl_poste table anymore Show agent that are not on schedule in statistic by agent Add legal notices feature - Fixes Working hours: fix quota comparison add missing div on template holiday/edit Update ics-parser from 1.0.3 to 3.* delete references to planning_hebdo_tables Fix statistic exports Show adequate plannings message for unautorized users Fix lack of CSS when adding a reason/status/level/... in Agents, Position, Absences - Plumbing Remove tableSort and tableSort-bis CSS class CSS Optimization, remove supernumeraries blanks Symfonyze week planning Add unit tests for a recurring absence every 2 weeks Bump apereo/phpcas from 1.5.0 to 1.6.0 Add unit tests for index with Planning Not Ready Without Permission Move symfonized page permissions to YAML file *** Version 22.05.00 (2022-06-08) *** - Enhancements Planook capabilities Set a specific message for recover validation Password complexity Allow custom exclusions from custom_options.php - Fixes Fix Unknown column 'comand'/'nom' in 'field list' (fix_encoding_issues) Make toHis method don't transform sites in working hours Check if position exists when importing template Hide the display of the hour/day equivalence when the necessary setting is not defined Fix check mail config Fix free break calculation condition Statistics: Show hours exceeding less than 30 minutes in green MSGraph sync: Fix update event query and improve logs Fix sending the ICS URL by mail Load data during installation and fix the absences_info table Fix the query that remove duplicates in DBRev 22.04.00.000 Define morning end at 12:00 if there is no break in working hours Show translated label for comp_time Show translated label for overtime New theme: rename div id content-holyday to content-form New theme: add the missing
, id and class to complete the new theme defined used variable to false when adding new framework PR679 change http to https Modification of the link to the website in all the files & the readme New theme: Fix alignement problem, when adding new workinghour Correctly take into account the number of weeks of working hours. Fix error 500 on the calendar view New theme: Display the schedule date and location when printed New theme: remove the title background and the green background of the planning New theme: Align the site's name with the date when printed make getCountedHours takes week rotation into account Add the version number in the JS and CSS link Typo breakin access to calendar Correctly calculate holiday credits in days on my account Do not display credits in hours on "my account" if conges-mode=jours Do not set SMTP settings when the local mailer is used Add more precision to hours count when adding holiday MSGraph sync: Change isEventEmpty condition Take into account the notification workflow where deleting absence Pass correct notification id to getRecipients and getRecipients2 Undefined offset: -1 at /home/planningb/www/planningbiblio/src/Controller/StatisticController.php line 2538 Expected parameter 2 to be an array, null given at src/Controller/StatisticController.php line 2671 - Plumbing Move working hours history html in PlanningHebdo-Agents condition PHP 8.1 compatibility Change CI configuration for reusable build with different php version Add job For php 8 build Add job for PHP 8.1 and MariaDB 10.6 Use new next-generation Convenience images from circleCI Change the Way installing PHP extensions Write tests for method toHis Unit test for [POST]/admin/info Add unit tests for admin info forms Unit tests for skill list, add and edit forms Add Unit test got log function Add Unit test for PLBEntity Model Add unit tests for position list, add and edit form Delete 2 unused files use the JS function url() when needed add unit tests for Calendar Controller Add unit tests for overtime add, list, and edit form Symfonyze planning, model import and save, planning deletion symfonyze LDAP search / import *** Version 22.04.01 (2022-06-08) *** - Enhancements Improve validation/notification schema Use the granularity setting for planno-break-timepicker - Fixes Do not execute web cron on CLI (avoid CSRF Exceptions) Transform working hours to His format in agents table Change out-of-work text color to #5394BA prevent include class.conges.php twice - Plumbing Rename comptime to overtime *** Version 22.04.00 (2022-04-01) *** - Enhancements Display disabled planno-break-timepickers in black Holiday: dynamically get current holiday credits (multi-agents form) Restrict absences list interval to a year maximum Allow edition of imported working hours Data purge capabilities Add a div with class=attendance to isolate attendance information on calendars Ability to change login in agent's form Active class on selected menu: allow to highlight select menu Restrict absences list interval to a year maximum. Follow up ICS import: handle exception on recurring events with the recurrence-id attribute New Planno theme Prevent editing used frameworks only if someone is linked to them Planno title - Fixes Fix error 500 on the calendar view Display the schedule date and location when printed Make getCountedHours takes week rotation into account Force json_decode to return array in getWorkingHoursOn Avoid comparison between H:i:s and H:i when checking the presence of an agent Don't get breaktime from personnel table when planning_hebdo is disabled Check if free breaktime is not empty in agent form Remove PHP Notice when fetching positions Remove HTML entities in column comment of absences list Correctly show percentage values in agents form Fix ICS link in agent profile Correctly set #selected_agent_id if only one agent selected Don't reload holiday form for multiple selection Use dependency injection instead of service container to get Notifeir into controllers rename working hours ACL Typo : Change "no model" message Check if free break is enable into workinghours controller Check defined array keys in workinghour table Remove html entities in read-only agents page Show sites on the read-only agents page Adjust JS function plHebdoMemePlanning to new timepicker widget Take halfday into account in holiday controller Fix the "Call For Help" mail function Absence documents: look for documents in all grouped absences Followup, don't reload holiday edition when changing agent Fix retrieving agent's credits in holiday form Relaod page when changing agent in holiday form (Not for mutliple agent) Fix redirection loop where CAS-ServiceURL is defined Always set absence hours like h:m:s Fix HTML entities in floors and groups dropdown menus Restore "All sites" option in working hours Fix display of html entities on information and absence information messages Initialize the widget calendar with the asked date when using the week view Don't apply compensatory time on... compensatory time Fix AbsenceInfoController to use DateTime convert serialized strings to json on personnel's table fix encoding issues on agents' name in calendar's dropdown menu Fix sending notifications of non-validated holidays Show all site in ready-only agents working hours tab Handle blocked ip address Fix error on free break calculation Agent account: show a range of 5 minutes when granularity if free Don't submit Times and lines forms for used framework Prevent adding exception out of parent's date range Use event id instead of iCalUId to check for empty events Do not filter on first site when gathering absents for statistics Update working hours on 3 digits Get disabled cells in public/planning/poste/semaine.php Show information that end today in absence information list Display all grey cells in the same way Set selected agent id in recup_pose.php force end hours to 23:59:59 Allow empty values in planno timepicker DB update, tranform working hours like 00:00:00 to '' Show agent's name in absence form even if he is deleted Correctly hide and show drop, import and print icones in the Planning menu Disable EDTSamedi if PlanningHebdo is enabled Do not publish crossed-out agents on ICS calendars Decode statuses and services of agents Don't send planning's notification to unavailables agents Fix import working hours Use local (from agents working hours) number of weeks in planning_day_index_for - Plumbing Add tests on [GET] /ajax/holiday-credit (halfday enabled) Add unit tests on [POST] /holiday (halfday enabled) Add unit tests on [POST] /holiday (Hours and days) Set production environement Update Symfony version to 4.4 Use url function for js calls/redirects Add a Planno notifier as available service container End to end testing capabilities (Symfony/Panther - Chrome driver) Allow symfony-flex plugin without confirmation Use of a hour helper StartEndFromRequest in absences and holidays Optimize DB queries for holiday/credits Allow to load absences without documents for performance improvement Symfonyze holidays accounts list CircleCI: rm -rf vendor to make CirculeCI succeed Symfonyze holidays information Make installer set APP_ENV=prod *** Version 21.10.00 (2021-11-19) *** - Enhancements Allow holiday for a few hours New rules for free break substraction (#507) Prevent editing used frameworks (#489) Optimize calendars display Add more working hours cycles (MT 30755) Make installer ignore default /home/plb/.my.cnf Remove autocomplete on datepicker elements Planning: notifiy deleted agents Compensatory time regularization (#457) Replace HTML select with jquery timepicker input (#469) Hide unused mail settings (MT 33801) Add green/red color on queries status in updatedabase.php Multiple agents for holidays (#474) - Fixes ICS : Don't import ICS calendars if check_ics is not checked Prevent redirect to wrong URL when config URL is not properly set Handle non validated working hours Remove PHP warnings and useless string in planning/poste/semaine.php Fix redirect after framework deletion Exclude rejected (-1) absences from non validated absences list Add name and firstname as title in planning cells Framework's lines edition: fix updating cells color Remove HTML entities in absence list Restore red marking when an absence is not validated Prevent creating empty working hours for non authorized users Show deleted agent in holiday account: Remove "Active" filter in DB query of fetchAllCredits function Hide/show drop icon when locking/unlocking planning Add clear-string class on datatable columns that needs sort on accents ICS parser gets the right date when the TimeZone contains ":" (#438) broken link to import agents from LDAP (#437) Defined length for check_ics and default for check_hamac Restore rights for /absences/document Fix misuse of ->config in StatisticController Make ICS parser gets the right date when the TimeZone contains ":" (#438) Fix redirect to authentication page Remove http host from redirect url Config : Fix display of conges_mode dialogbox + remove console.log Fix misuse of join function Check the rights with agent's site instead of all sites (MT 32916) Always keep logged in agent in holiday's agents list (MT 32916) Show holiday's agents list according only to getManagedAgents function (MT 32916) Take into account Planning-Heures config params Fix bad instantiation of WorkingHours class Show refused reason for refused level 1compensatory time (MT 32917) Prevent user to change its own password via /myaccount with demo mode enabled (MT 32845) Apply right checking on mono-site mode (MT 33166) Fix import of models Don't sanitize skills data in position index page When checking Deleted agents, update agents dropdown in holidays index Fix day models import Use model_id field instead of id. Initialize variable in models' loop Restore absences start and end hours displaying in absences list Don't override CSRFSession in working hours edition Check if hre_debut and hre_fin are defined (MT 33011) Remove BibLibre address from Mail-From's setting ICS: Prevent deleting non-imported absences Lines with cells specifically disabled are never considered as empty Stop returning errors when importing ICS events Return access denied when editing unknown absence id Make ICS parser gets the right EXDATE when the TimeZone contains (MT 34284) - Plumbing Working hours: add a dedicated method for permissions checking Add unit tests for working hours permissions Load an up-to-date SQL file Add a fixture builder to simplify tests writing Absences: use route names according to PLB naming convention Symfonize absences index Use asset function for links and add an asset version strategy package Move agenda.js to js/plb/caldendar.js Delete unused file class.modeles.php Move postes/js/modif.js to js/plb/position.js Move statistiques.js to js/plb/statistics.js move cron.ics.php from public/ics to src/Cron/Legacy Use common function for getting managed agents in holiday and comptime controllers Use fixture builder in HolidayHelperTest instead of Tests\Utils Symfonyze contextual menu in planning page Add units tests on getManagedAgent Use session flash bag for notice and error messages in framework delete and restore Symfonize login and logout process (#451) Symfonise absence deletion *** Version 21.04.00 (2021-04-22) *** - Enhancements Move function calculPresence in dedicated class (WorkingHours) Allows more permissive entries in working hours Update DataTable libraries and remove flash buttons Use APP_ENV in legacy code (config.php) and move uploaded files Upgrade PHP to 7.4 in composer.json Update install.sh : check if PHP version > 7.4, run composer update if needed Upgrade symfony/flex to release 1.9.8 Start handling permissions in a YAML file Symfonize framework index (planning/postes_cfg/index.php) Symfonize working hours (edit and save) Symfonize statistics index Symfonize My Account page Symfonize framework's seperation lines Symfonize framework groups Symfonize agents index page Symfonize framework table edit/add Add a param to define the switching time between half-day and full-day Absences for remote working ability Symfonize notifications save Symfonize framework's group deletion Deny holidays if planning started or validated The user can select the validation level when adding an holiday Statistics: remove former folder templates/statistiques Notification page: move notifications.js to public/js/plb. Add baseURL to Ajax query Hamac import: Optimize log Symfonize models Symfonize stats staturday Integration with CircleCI (Continuous integration service) Symfonize statistics absents Symfonize_statistics agent Symfonize statistics position summary Symfonize statistics services Symfonize statistics status Symfonize admin index Symfonize compensatory time Symfonize stats by times Symfonize support position Symfonize framework tables restoring Allow the selection of agents on different sites Ability to check if SQL column exists (idempotent DBRevs) Move planning framework choice in dedicated twig template Move planning's menu html code in dedicated twig template Functional tests ability Show agents firstname and surname in workinghours list -Fixes Remove HTML entities in closing days Working hours fixes Add validate icon Use PHP default timezone. Keep absence's other reason when there is recurrence Fix display of agents on vacation on the week schedules Prevent warnings in script tools/remove_html_entities_from_absences_reasons.php Prevent the redirection to the 'access denied' page on cli and symfony mode Replace heredoc string by double quotes string at end of weekly planning check if agents are blocked when right copying planning's cell show only managed agents in list and in add form Fix/Statistics : Initialize information about agents Fix reset URL for holiday index and rename related button Write ICS URL from base URL Fix a wrong links on absence and holiday notifications Restore right for self-removing in absence edition Don't sanitize config elements LDAP: Change LDAP-ID-Attribute value from supannAliasLogin to supannaliaslogin Fix wrong reset URL on statistics/attendeesmissing PHP8, fix wrong use of mysqli_connect_errno. Handle id=0 in function nom PHP8, fix wrong use of implode and join functions Prevent skills to be deleted if used by agents Workinghours exception should take into account weeks turnover Mark leaved agents as crossed off when importing models *** Version 20.10.00 (2020-10-09) *** - Enhancements Add working hours exceptions Retrieve absences from microsoft graph API Add a cron script to purge the log table: planningBibio:PurgeLogTable Check journey times between site / areas Having "Full day" checked by default in absences is configurable Check journey times between absences and jobs Enable web profiler on dev environment Symfonisation of admin -> activites Use Doctrine ORM for skill pages Use fine tuning of hours in holidays forms Mass modification of agents Symfonize agenda/index page Stick planning times row and job columns Symfonize and Doctrinize postes/index.php -Fixes Use fine tuning of hours in absence forms Fix the control of plannings when an absence is recorded Fix removal of reccuring absences Set default value for start and end hours when saving an absence Fix admin info and absences info forms fix retrieving of start hour when adding absence Prevent duplicating working hours via clone option *** Version 20.04.00 (2020-06-15) *** - Enhancements Include symfony framework Move absences pages into a symfony controller Move absences/info pages into a symfony controller Move admin/info pages into a symfony controller Move agents pages into a symfony controller Move configuration page into a symfony controller Move help page into a symfony controller Move holidays pages into a symfony controller Ability to check permissions on symfony kernel.request event Add unit tests Ability to request holiday in days (optionnal) Ability to request holiday on half day Add a second notifications workflow on absences Ability to add documents on absences Ability to change user password by typing a new one into a form Add free breaktimes on working hours Hamac import : Add intermediate validation and information logging Shows Agendas/Synchro tab on agent's pages when Hamac-csv param is set Disallow changing passwords in demo mode Allow selection of days in other months on datepickers Add a script to launch setup from CLI (for a new installation: run install.sh) Update PHPMailer from 6.0.5 to 6.1.6 -Fixes Add raw filter on agent templates for fields services, right and skills Fix undefined indexes on statistiques/service.php & statut.php Fix checking email settings on configuration page Fix the wrong red marking in the diaries Fix wrong SR (without meal) marking on gray cells Fix the creation of status and service CSS classes in the planning.js file Rename recup_samedi to comp_time Fix a warning when a day planning is empty Correct use of PresentSet class in planning/poste/index Fix saving status and services in agent's form Use the port when checking LDAP settings Fix a typo on staticts rights Fix-encoding-issues. Run php -f tools/fix_encoding_issues.php if you have encoding errors after update Change database character encoding to utf8mb4. Run (once) php -f tools/fix_encoding_issues.php to convert your data after update Remove HTML entities from absences reasons. Run php -f tools/remove_html_entities_from_absence_reasons.php Prevent non authorized users to see holidays Fix display and JavaScript errors on my_account page Correct check of admin rights in absence:edit controller Fix absences url in mails Recovery times: restore hours checking and fix error on saving Recovery times: check admin level 2 rights Table creation - apply number of sub-table on first save Table creation: remove PHP warning Use correct array key for recorevery times in my account Fix wrong SQL queries on the departure date in ajax.menudiv.php *** Version 19.10.00 (2019-10-31) *** - Enhancements Allow planning comments to be always displayed. Show a short 3 digits version number on footer add project information in composer hash passwords improvement Improves performances on statistics pages LDAP authentication improvement - Fixes Do not import deleted agents Fix site verification on structure management *** Version 19.04.03 (2019-07-26) *** - Fixes Fix misallocation of rights in multisites mode Fix bug #86, Wrong CAS version numbers *** Version 19.04.02 (2019-07-13) *** - Fixes Fix the error that prevented the import of some plannings Imports gray cells when importing plannings Prioritizes the absence class over the out-of-work-time class in planning views *** Version 19.04.01 (2019-05-17) *** - Fixes Optimization of statistics: avoid timeout on statistic pages for large dataset Fix version checks in setup/maj.php Fix README.md markdown format - Enhancements Make ICS import compatible with Google invitations and the "Hamac" format *** Version 19.04 (2019-03-28) *** - Plumbing Implements Doctrine ORM Include conges plugin into the core - Enhancements Move the call to the update script to init.php Define planning unit's emails site by site Allow more than one over time recovery per day Planning template import: show agents out of their work timetable in a red cell ICS importation : check attendees confirmation and update absences validation Over time recovery: create a notifications system GDPR: Anonymize personal data when deleting users Remove a typo in PlanningHebdo-notifications-agent-par-agent's comment add atomic updates system New statistic page: presents/absents agents Demo mode - Fixes Fix anonymous authentication Fix access rights when using multisites mode Planning Hebdo: fix errors of saving copies Fix calendar sync (github: issue #38) Fix wrong link on notifications of recurring absences modification (github issue #36) Conges plugin: Initialize variable last in conges::calculCreditRecup Conges plugin: Remove a warn caused by an undefined index *** Version 2.8.04 (2018-10-29) *** - Plumbing Add Symfony/HttpFoundation component Code refactoring: move initialization in ini.php Update PHPMailer using composer and set mail->Sender Update phpCAS using composer - Fixes Replace deprecated mcrypt functions with openssl functions Fix an error in the calculation of hours of absence *** Version 2.8.03 (12 septembre 2018) *** - Correction Correction du problème empêchant l'affichage des absences sans droits d'administration Correction du problème empêchant l'ajout d'absence *** Version 2.8.02 (29 mai 2018) *** - Amélioration Permet l'utilisation d'un fichier lang/custom.php (voir fichier lang/fr_FR.php) *** Version 2.8.01 (24 mai 2018) *** - Améliorations Absences : gestion des notifications et des droits d'accès avec l'option "Absences-notifications-agent-par-agent" PlanningHebdo : gestion des notifications et des droits d'accès avec l'option "PlanningHebdo-notifications-agent-par-agent" Configuration : remplace les menus déroulants par des checkboxes pour les paramètres de type boolean Configuration / droits : suppression des options de débogage Heures de présence : permet la sélection de 3 emplois du temps différents selon s'il s'agit d'une semaine standard, avec samedi travaillé ou en ouverture restreinte (option EDTSamedi, incompatible avec PlanningHebdo) - Correction Absences : corrige la position des icônes "suppression agent" dans les fiches absences *** Version 2.8 (11 avril 2018) *** - Améliorations Agents volants : Permet de distinguer une liste d'agents dans les plannings (attribution d'une couleur). Les agents sont choisi semaine par semaine dans le sous-menu Planning / Agents-volants Planning : Choix d'afficher ou non les heures de SP et les couleurs dans le menu du planning Planning notification : Affichage du nom du site dans les notifications de plannings validés / modifiés ICS : Fonction permettant d'envoyer aux agents l'URL de leur calendrier Planning Biblio Absences : Paramètre permettant d'activer ou non la présélection des agents logués Planning Hebdo : 2 niveaux de validation et circuit de notifications semblable à celui des absences LDAP : Ajout de l'attribut supannAliasLogin *** Version 2.7.15 (27 septembre 2018) *** - Améliorations Heures de présence : Export des heures de présences vers un fichier CSV (format Kelio/Bodet Software) LDAP : Permet l'import d'un attribut LDAP dans le champ matricule (choix de l'attribut dans la config, param LDAP-Matricule) *** Version 2.7.14 (26 avril 2018) *** - Corrections Cron : Correction de la recherche des commandes à exécuter une fois par an (pseudo-cron) Plannings semaine : Correction de la position des cellules grisées dans les plannings semaine Plannings semaine : Correction de l'initialisation de la variable $verrou sur l'affichage des plannings semaine *** Version 2.7.14 (26 avril 2018) *** - Correction Modification des ID de gestion des absences dans la base de données (ceci était fait sur la version 2.7.12 mais supprimé par erreur sur la 2.7.13) *** Version 2.7.13 (25 avril 2018) *** - Améliorations Importation Hamac Planning : améliore la mise en surbrillance, supprime la latence générée sur certains navigateurs *** Version 2.7.12 (29 janvier 2018) *** - Améliorations CAS : Ajout du paramètre CAS-ServiceURL pour permettre de forcer l'URL de redirection vers l'application CAS : Amélioration du processus d'authentification CAS et suppression des redirections JavaScript - Corrections Correction de la suppression des agents (CSRFToken) Correction du filtre sur les catégories dans le menu du planning *** Version 2.7.11 (20 janvier 2018) *** - Corrections Planning : Correction du calcul des heures de SP lorsque les absences sont déduites Absences : Contrôle empêchant l'enregistrement d'une absence sans date de fin *** Version 2.7.10 (20 décembre 2017) *** - Corrections Planning : corrige une erreur empêchant de barrer les agents dans le planning s'ils étaient sur des absences non-validées *** Version 2.7.09 (19 décembre 2017) *** - Corrections Absences récurrentes : conserve les exceptions lors de la modification des absences récurrentes Absences récurrentes : Ne double plus la première occurrence lors de la modification des absence récurrentes Absences récurrentes : N'affiche plus l'icône "récurrences" sur les événements ne contenant plus qu'une seule occurrence *** Version 2.7.08 (14 décembre 2017) *** - Corrections Absences récurrentes : correction des erreurs d'ajout et suppression d'agents lors de la modification d'absences récurrentes toutes occurrences. Absences récurrentes : correction de l'attribut COUNT lors de la modification des événements courant et suivants *** Version 2.7.07 (11 décembre 2017) *** - Corrections Correction de l'importation des fichiers ICS lorsque le champ DESCRIPTION est inexistant ou vide Correction de l'enregistrement des absences récurrentes lorsque le champ commentaires est vide Correction du filtre sur les absences dans le menudiv *** Version 2.7.05 (28 novembre 2017) *** - Améliorations Absences récurrentes : Les règles de récurrences sont stockées dans la base de données Absences récurrentes : Recherche perpétuelle des occurrences liées à des absences récurrentes sans date de fin *** Version 2.7.04 (22 novembre 2017) *** - Améliorations Absences : Enregistrement d'absences récurrentes *** Version 2.7.03 (25 octobre 2017) *** - Améliorations ICS : permet l'importation des événements non-confirmés. Ceux-ci sont importés comme des absences non-validées. ICS : permet l'utilisation du champ "matricule" dans les openURL d'importation. Peut être utilisé pour importer des fichiers ICS nommés avec l'identifiant Harpege par exemple. *** Version 2.7.02 (12 octobre 2017) *** - Améliorations Planning : Amélioration de la mise en surbrillance des agents dans le planning *** Version 2.7.01 (7 octobre 2017) *** - Améliorations Planning : Met en surbrillance les agents survolés dans le menu Planning : Dissociation des droits de modification des plannings : un droit permet de créer, modifier, enregistrer et utiliser les modèles, un autre permet uniquement la modification des plannings Importation ICS : cases à cocher pour autoriser ou refuser l'importation des calendriers ICS agent par agent. Statistiques : Choix des créneaux horaires à afficher dans les statistiques Absences : Ajoute un droit permettant aux non-admin d'ajouter des absences pour plusieurs agents Absences : Permet l'enregistrement d'absences qui se chevauchent, avec avertissement Absences : Permet la sélection de tous les agents lors de l'enregistrement des absences (paramètre Absences / Absences-tous) - Corrections Encodage HTML des caractères dans la base de données, tables acces, config et menu Conversion en base64 des mot de passes cryptés (fonctions encrypt / descrypt) Affichage des agents, initialisation du filtre Service Public / Administratif Affichage des agents, corrige une erreur de script empêchant l'affichage des fiches agents Correction de l'envoi des notifications lors la validation des plannings *** Version 2.7 (30 août 2017) *** - Améliorations Heures de présence : Gestion de 2 pauses par jour Permet de personnaliser la favicon depuis les thèmes perso. Positionner un fichier nommé favicon.png dans le dossier images du thème Enregistre l'URL de l'application dans la config ($config['URL']), permet de l'utiliser en CLI Permet de griser ponctuellement des cellules depuis le menu du planning - Corrections Décale le menu du planning par rapport au curseur : évite de cliquer trop vite sur le nom d'un agent Corrige l'importation des heures de présence : tout était importé en semaine 1, problématique lorsque la rotation des semaines était activée - Sécurité Correction des vulnérabilités XSRF liées aux fonctions db::insert(2), db::update et db::delete(2) Correction des vulnérabilités XSRF liées à la classe dbh *** Version 2.6.91 (2 juin 2017) *** - Amélioration Ne recharge plus la page après la modification des menus déroulants paramétrables - Correction Corrige l'encodage des caractères des menus déroulants paramétrables (htmlentities des valeurs des tables select_xxx) *** Version 2.6.9 (24 mai 2017) *** - Correction Corrige la recherche des semaines avec samedi travaillé (personnel::fetchEDTSamedi). Erreur intégrée suite au renommage des tables en version 2.6.4 - Correction Windows Utilise la constante __DIR__ pour l'inclusion des fichiers (corrige les erreurs d'envoi de mail et de calcul des heures d'absences sous Windows) *** Version 2.6.8 (13 mai 2017) *** - Correction Windows Modifie le script de mise à jour pour les serveurs Windows afin qu'il renomme correctement les tables en minuscules avec l'ajout d'underscores. Pas de modification pour les serveurs Linux/Unix - Amélioration Contrôle des tables modifiées entre la version 2.6.4 et 2.6.8 lors de l'exécution du script de mise à jour *** Version 2.6.7 (12 mai 2017) *** - Corrections Corrige une erreur intégrée en version 2.5.1 lors du remplacement des fonctions unserialize par json_decode Cette erreur affectait notamment l'enregistrement des heures de présences Correction apportée : ajout du 2ème paramètre (true) aux fonctions json_decode de façon à forcer la création d'un tableau au lieu d'un objet Correction du calcul des heures d'absences dans le menu du planning. L'erreur existait lorsque les heures de service public étaient enregistrées en pourcentage *** Version 2.6.6 (10 mai 2017) *** - Correction Importation des plannings : n'importe pas les agents s'ils sont placés sur un autre site Importation des emplois du temps : corrige l'importation pour les agents ne travaillant que le matin *** Version 2.6.5 (6 mai 2017) *** - Améliorations Affiche pourquoi les agents sont indisponibles dans le menu permettant de placer les agents dans le plannings Ajout d'infobulles dans le menu permettant de placer les agents dans le planning - Correction Exportation ICS : html_entity_decode dans ics/calendar.php sur le nom des agents et les sites *** Version 2.6.4 (25 avril 2017) *** - Amélioration Les tables et les champs de la base de données sont renommés en minuscules (compatibilité avec le paramètre mysql lower_case_table_names toutes valeurs et compatibilité Windows) - Correction Corrige l'appel à disponibilité *** Version 2.6.3 (20 avril 2017) *** - Correction Corrige les notifications lors de la modification des plannings (n'envoie que les différences et seulement aux agents pour qui des différences existent) *** Version 2.6.2 (19 avril 2017) *** - Correction Corrige la recherche des quotas hebdomadaires (menu du planning et feuille de temps) *** Version 2.6 (16 mars 2017) *** - Correction LDAP - Active Directory : Corrige le script de mise à jour *** Version 2.5.9 (14 mars 2017) *** - Correction LDAP - Active Directory : renomme l'attribut samAccountName en samaccountname Planning - importation : n'importe pas les agents s'ils sont sur des postes ou horaires supprimés *** Version 2.5.8 (10 mars 2017) *** - Correction Corrige les problèmes de modification et de suppression des modèles Corrige le problème des agents non-trouvés dans le menu dû à un mauvais encodage de caractères du champ personnel/service *** Version 2.5.7 (8 mars 2017) *** - Améliorations LDAP : Compatibilité Active Directory LDAP : Test des paramètres depuis la page de configuration Mail : Test des paramètres depuis la page de configuration - Sécurité Mise à jour de PHPMailer (version 2.5.22) Clé personnelle pour le cryptage des mots de passe LDAP et SMTP (include/config.php à modifier manuellement si mise à jour) - Correction Affichage des absents en bas du planning en configuration mono-site *** Version 2.5.6 (6 mars 2017) *** - Corrections Corrige l'agenda : barre les postes pour lesquels l'agent est absent *** Version 2.5.5 (6 mars 2017) *** - Améliorations Ajoute un index sur le champ site de la table pl_poste de façon à accélérer les requêtes SQL sur cette table (page planning) Améliore l'affichage du menu permettant de placer les agents dans le planning (Optimisation de la largeur du 2nd tableau) *** Version 2.5.4 (1er mars 2017) *** - Améliorations Affichage des heures au format 12h34 (Heure, lettre h, minutes) dans toutes les pages de statistiques - Sécurité Correction des vulnérabilités Potential DOM Open Redirect Correction de vulnérabilités XSRF (celles liées à la fonction db::update2) *** Version 2.5.3 (6 février 2017) *** - Améliorations Optimisation de la fonction nom() : moins de latence dans de nombreux modules, notamment dans le menu permettant de placer les agents dans le planning Affichage des absences non validées dans les plannings : les absences non validées apparaissent en rouge mais ne sont pas barrées. Paramétrable Affichage des heures au format 12h34 (Heure, lettre h, minutes) dans le menu du planning et dans la feuille de temps Amélioration de la modification des menus (groupes de postes, étages des postes, services de rattachement) Feuille de temps : affichage jour par jour des heures par groupe. - Corrections Correction de la fonction createURL : ajout d'un / manquant dans certaines URL *** Version 2.5.2 (15 décembre 2016) *** - Améliorations Absence en bas du planning : n'affiche que les absences qui concernent le site choisi ICS : Enregistrement d'une URL personnalisée dans la fiche des agents (pour importer les réunions de Google Calendar (par exemple)) - Corrections Corrige une erreur empêchant l'enregistrement des dimanches dans les modèles *** Version 2.5.1 (23 novembre 2016) *** - Sécurité Correction de vulnérabilités (Object Injection) *** Version 2.5 (17 novembre 2016) *** - Améliorations Statistiques : affichage des heures par groupe de postes dans la feuille de temps Personnalisation de l'affichage des cellules en fonction des qualifications des agents (activités) : classes .activite_nom_de_l_activite Personnalisation de l'affichage des postes en fonction des activités requises : Utilisation des classes .tr_activite_nom_de_l_activite Planning: améliore l'affichage des semaines et autorise le masquage des tableaux sur la page semaine - Corrections Planning : correction d'une erreur sur le marquage des absents dans le menu permettant de placer les agents *** Version 2.4.8 (29 octobre 2016) *** - Améliorations Planning : Affichage en rouge des agents pour lesquels il existe des absences non-validées Amélioration de la conversion des heures (suite à la granularité à 5 minutes) *** Version 2.4.6 (27 octobre 2016) *** - Corrections Remplace la fonction sendmail par CJMail (compatibilité Wamp). PlanningHebdo : Remplace le champ DB key par cle Arrondi les heures du menudiv *** Version 2.4.5 (19 octobre 2016) *** - Améliorations Agenda : Possibilité de choisir dans la config si on affiche ou non les plages de service public des plannings non-validés dans les agendas. *** Version 2.4.4 (13 octobre 2016) *** - Améliorations Granularité à 5 minutes (expérimental) *** Version 2.4.3 (4 octobre 2016) *** - Améliorations Mise à jour de l'aide Ajout d'une alarme sur les événements ICS exportés (10 minutes avant le début de SP) - Corrections Correction d'un problème empêchant la création de lignes de séparation - Sécurité Correction de vulnérabilités XSS, suppression des fichiers d'exemple de phpCAS *** Version 2.4.2 (8 septembre 2016) *** - Améliorations Compatibilité MySQL 5.7, définie sql-mode='' Vérifie les fuseaux horaires des fichiers ICS importés - Correction Corrige les erreurs de modifications et validations d'absences *** Version 2.4.1 (27 juillet 2016) *** - Améliorations Importation de fichiers ICS via une tache planifiée. Les fichiers ICS doivent être accessibles en openURL Importation des heures de présences en CSV via une tache planifiée. Les fichiers CSV doivent être accessibles en openURL Exportation des plages de service public des agents sous forme de calendriers ICS Optimisation du menu permettant de placer les agents dans le planning = moins de latence Optimisation de la recherche des sans repas - Corrections Corrige une erreur concernant le masquage des tableaux Corrige le script d'installation (enregistrement des informations dans la base de données) Corrige l'affichage des heures faites dans les tableaux des heures de présences (module planningHebdo) Corrige l'affichage des heures de présences dans les fiches agents (l'erreur existait avec le module planningHebdo) Corrige la validation des absences (l'erreur existait en configuration multi-sites) Feuille de temps : ne compte plus les absences Supprime les éventuels doublons de la table config. *** Version 2.3.4 (27 juin 2016) *** - Correction Corrige le script d'installation (db_data) : insertion dans la table activités *** Version 2.3.3 (20 juin 2016) *** - Améliorations Agenda : Regroupe les horaires des mêmes postes qui se suivent Agenda : n'affiche plus les informations des plannings non-validés *** Version 2.3.2 (28 mai 2016) *** Jérôme Combes - Améliorations Permet la suppression des postes et activités s'ils sont liés uniquement à des tableaux supprimés Les postes et activités supprimés sont restaurés si les tableaux sont restaurés *** Version 2.3.1 (10 mai 2016) *** Jérôme Combes - Améliorations Permet la saisie et la modification d'absences de plusieurs agents Mise à jour de la bibliothèque phpCAS (version 1.3.4) *** Version 2.3 (12 avril 2016) *** Jérôme Combes - Améliorations Configuration des tableaux : possibilité de supprimer les tableaux, même s'ils sont utilisés Configuration des tableaux : possibilité de récupérer des tableaux supprimés dans l'année Configuration des tableaux : amélioration de l'affichage des listes de tableaux, groupes et lignes de séparation Configuration des tableaux : possibilité d'ajouter des classes CSS sur les tableaux. Permet de personnaliser l'affichage des tableaux sur la page planning Affichage du planning : possibilité d'ajouter des classes CSS sur les activités. Permet de personnaliser l'affichage des postes correspondants dans le planning Affichage du menu : Utilisation d'une liste