Skip to content

Releases: Igalia/phpreport

PhpReport 2.22

22 Dec 16:44
Compare
Choose a tag to compare

The "🦆🦆🦆🦆🦆🦆🦆🦆" release.

List of changes

  • [#510] New feature: Vacation management screen [Ana Rute Mendes]

    • Display user vacation time for the year on a calendar
    • Save vacation days for periods of time instead of individually
    • Track vacations used, scheduled and pending
    • Synchronize vacation events with calendar applications
    • Search reported vacation time for individual users
  • [#510] New feature: Vacation summary report [Ana Rute Mendes]

    • Display vacation time per user and area, stats and distribution along the year
    • Display when last updated
    • Filter reported users by project
    • Export to CSV
  • New feature: Simple UI to create long leaves [Ana Rute Mendes]

    • Allows admin users to greate periods of long leaves for other users
    • Includes service enpoint for automation
  • Remove project coordination features (XP tracker and Analysys tracker). [Jacobo Aragunde Pérez]

    • These features have been unused and unmaintained for years, it's time to leave them behind to focus on the areas considered essential today.
    • If they existed, coordination data will not be deleted from database after an upgrade.
  • Tasks

    • [#164] Use alt+shift+number to switch tasks. [Jacobo Aragunde Pérez]
    • [#506] Speed up tasks page. [Jacobo Aragunde Pérez]
    • Remove timeout for new, empty task creation. [Jacobo Aragunde Pérez]
    • Fix crash when updating a task whose id doesn't exist. [Jacobo Aragunde Pérez]
    • Add updated_at column to task table [Ana Rute Mendes]
    • Fix weekly goal calc if in last week of the year [Ana Rute Mendes]
    • Allow 0 hour tasks (#603) [Ana Rute Mendes]
  • Reports

    • [#564] Escape area names in project evaluation report. [Jacobo Aragunde Pérez]
    • Fix regression in accumulated hours report with LDAP enabled. [Jacobo Aragunde Pérez]
    • Fix Download as CSV button [Ana Rute Mendes]
  • Data management

    • Review panel height values in user management page. [Jacobo Aragunde Pérez]
    • Filter by project and customer in project management screen. [Jacobo Aragunde Pérez]
    • Add filter by users to user management screen. [Jacobo Aragunde Pérez]
    • Improve usability of user management screen. [Jacobo Aragunde Pérez]
  • Other

    • [#431] Fix multiple PHP warnings. [Jacobo Aragunde Pérez][Ana Rute Mendes]
    • [#439] Append a hash to minified file names. [Jacobo Aragunde Pérez]
    • [#513] [ongoing] Port multiple DAOs to use the PDO API. [Jacobo Aragunde Pérez]
    • [#585] Workaround minification error in tasks page. [Jacobo Aragunde Pérez]
    • [#592] Fix Docker image fails building [Alexandre ZANNI][Jacobo Aragunde Pérez]
    • Add docker compose [Alexandre ZANNI]
    • Setup PHP Composer [Ana Rute Mendes]
    • Deprecate VACATIONS_PROJECT config parameter. [Jacobo Aragunde Pérez]
    • Introduce new, optional VACATIONS_PROJECT_ID config parameter. [Jacobo Aragunde Pérez]
    • Escape user-entered string data in multiple services and generated JS code. [Jacobo Aragunde Pérez]
    • Load task type field values from a service. [Jacobo Aragunde Pérez]
    • Rename Holiday to Vacation [Ana Rute Mendes]
    • Add new testing framework. [Ana Rute Mendes]
    • Add Github action to run tests [Ana Rute Mendes]
    • Remove code from PhpReport 1.x features that were never finished in 2.x [Jacobo Aragunde Pérez]
    • Remove old, unused tests. [Ana Rute Mendes][Jacobo Aragunde Pérez]
    • Other code health/refactor/simplification work. [Jacobo Aragunde Pérez][Ana Rute Mendes]
    • Update and improve documentation [Jacobo Aragunde Pérez][Ana Rute Mendes]
    • Text corrections [Martin Robinson]

PhpReport 2.21

15 Sep 07:42
Compare
Choose a tag to compare

The "Year of 💉" release.

List of changes

  • Tasks

    • #346: Save init and end times in the task template [Ana Rute Mendes]
    • #411: Prevent redundant GET params when using prev/next date hotkeys. [Jacobo Aragunde Pérez]
    • #487: Do not require the date field in the update task service. [Jacobo Aragunde Pérez]
    • #489: Prevent the update of tasks belonging to inactive projects via API. [Jacobo Aragunde Pérez]
    • #491: Prevent the update of tasks in locked dates via API. [Jacobo Aragunde Pérez]
    • #495: Fix error 500 when creating task with invalid project ID. [Jacobo Aragunde Pérez]
  • Reports

    • #475: Implement server-side CSV export for reports: weekly project hours, accumulated hours and user tasks. [Jacobo Aragunde Pérez]
  • Other

    • #431: Fix more PHP warnings. [Ana Rute Mendes] [Jacobo Aragunde Pérez]
    • #480: Check session status on tab visibility change. [Jacobo Aragunde Pérez]
    • #482: Add configuration to link an issue tracker from the menu. [Jacobo Aragunde Pérez]
    • Change make minify to use the UglifyJS 3 sytax. [Jacobo Aragunde Pérez]
    • Update documentation for developers and administrators. [Jacobo Aragunde Pérez]
    • Code clean-up. [Ana Rute Mendes] [Jacobo Aragunde Pérez]
    • Rename INSTALL file to avoid git conflict. [Ana Rute Mendes]
    • Link non-minified calendarManagement.js. [Jacobo Aragunde Pérez]
    • Exit on connect error in anonymize script. [Jacobo Aragunde Pérez]
    • Fix syntax error when updating project details. [Jordi Mallach]
    • Add API test page (not included in releases). [Jacobo Aragunde Pérez]
    • Add service getSessionUser.php. [Jacobo Aragunde Pérez]

PhpReport 2.20

11 Dec 13:57
Compare
Choose a tag to compare

The "Year of Doom" release.

List of changes

  • Tasks

    • #436: Include future holidays in user tasks summary. [Jacobo Aragunde Pérez]
    • #468: Allow to resize the task textarea. [Jacobo Aragunde Pérez]
    • #472: Fix wrong "pending holidays" count for users with part-time periods. [Jacobo Aragunde Pérez]
  • Reports

    • #462: Fix imprecise pending holidays reported regarding future contract data. [Jacobo Aragunde Pérez]
    • #464: Fix holiday count in leap years. [Jacobo Aragunde Pérez]
    • #477: Add previous and next week buttons to date filter. [Jacobo Aragunde Pérez]
    • #478: Add last month button to date filter. [Jacobo Aragunde Pérez]
    • Display default dates in acc hours report. [Jacobo Aragunde Pérez]
  • Other

    • Make the XMLWriter escape data before sending. [Jacobo Aragunde Pérez]
      • #85: Fix problem with special characters when cloning tasks.
      • #146: Fix cannot save a project name containing '&'.
    • Documentation fixes. [Jacobo Aragunde Pérez]
    • Remove tmp file after minification. [Jacobo Aragunde Pérez]
    • Code clean-up, performance. [Jacobo Aragunde Pérez]

PhpReport 2.19

04 Oct 09:57
Compare
Choose a tag to compare

List of changes

  • Tasks

    • #232,#392: Fix default date based on local timezone for all browsers. [Jacobo Aragunde Pérez]
    • #259: Disable "copy tasks from date" feature in blocked dates. [Jacobo Aragunde Pérez]
    • #353: Fix wrong length of "full day task" on new users' first day. [Jacobo Aragunde Pérez]
    • #411: Load tasks page with no GET params when "today" is selected. [Jacobo Aragunde Pérez]
    • #431: Address some PHP warnings in tasks page. [Jacobo Aragunde Pérez]
    • Use better names for date-related vars in tasks.js. [Jacobo Aragunde Pérez]
  • Reports

    • #401: Extract JS code from viewProjectDetails.php. [Jacobo Aragunde Pérez]
    • #431: Address some PHP warnings in project details report. [Jacobo Aragunde Pérez]
    • #459: Fix wrong dates in user tasks report due to timezone conversion. [Jacobo Aragunde Pérez]
  • Other

    • #343: Fix a number of HTML validation errors and warnings. [Jacobo Aragunde Pérez]
    • #423: Use CSS sprites for top menu icons. [Jacobo Aragunde Pérez]
    • #435,#455: Take into account contract info in unfilled task reminders. [Jacobo Aragunde Pérez]
    • #440: Calculate version number from Git tag + hash. [Jacobo Aragunde Pérez]
    • #444: Only use minified sources after they are created. [Jacobo Aragunde Pérez]
    • #448: Fix regression in blur event on input fields in FF 65. [Jacobo Aragunde Pérez]
    • Docs: how to setup a development environment. [Jacobo Aragunde Pérez]
    • Add docker support. [Juan A. Suárez Romero]
    • Never return failed credentials in an error message. [Jacobo Aragunde Pérez]
    • Integrate with external authentication: allow using a custom authentication header and disabling password check. [Jacobo Aragunde Pérez]
    • Allow setting custom PostgreSQL connection parameters. [Jacobo Aragunde Pérez]
    • Fix wrong use of SQLIncorrectTypeException constructor. [Jacobo Aragunde Pérez]
    • Beautify ExtJS CSS. [Jacobo Aragunde Pérez]
    • Explicitly set text color in text areas to black to prevent problems with dark themes. [Jacobo Aragunde Pérez]

PhpReport 2.18

15 Aug 11:32
Compare
Choose a tag to compare

List of changes

  • Tasks screen

    • #224: Fix tabs not trimmed from text fields [Jacobo Aragunde Pérez]
    • #341: Include pending holidays and extra hours information in user work summary [Pablo Abelenda]
    • #345: Block task edition before a certain date [Jacobo Aragunde Pérez]
    • #351: Don't allow to save tasks without an assigned project [Pablo Saavedra]
    • #372: Fix task description not being saved if pasted via context menu [Jacobo Aragunde Pérez]
    • #380: Fix unexpected results for weekly goal values [Jacobo Aragunde Pérez]
    • #388: Fix actions bar below tasks invading sidebar [Jacobo Aragunde Pérez]
    • #389: Add template button to fill a full holiday [Pablo Abelenda]
    • #392: Fix cannot bookmark today tasks page in most cases [Jacobo Aragunde Pérez]
    • #405: Moved copy tasks from date to the actions box [Pablo Abelenda]
    • Modify left column to take less vertical space [Pablo Abelenda]
    • Fix size of buttons in the actions panel [Jacobo Aragunde Pérez]
    • Use a 5px separation between any panels in tasks screen [Jacobo Aragunde Pérez]
    • Do not warn about invalid fields in automatic saves [Jacobo Aragunde Pérez]
  • Reports

    • #318: Only list active projects in project details combo by default [Pablo Saavedra]
    • #356: Change color scheme in accumulated hours report [Jacobo Aragunde Pérez]
    • #332: Add direct access to user details for any user [Pablo Saavedra]
    • #352: "Pending holiday hours" should only report hours inside the report interval [Pablo Saavedra]
    • #354: Fix duplicated results along multiple years in weekly hours report [Jacobo Aragunde Pérez]
    • #357: Implement last date column in accumulated hours report [Pablo Saavedra]
    • #375: Only export visible columns to CSV [Jacobo Aragunde Pérez]
    • #376: Show all active projects in project details [Jacobo Aragunde Pérez]
    • #404: Fix acc hours report failure when user lists returned by services don't match [Jacobo Aragunde Pérez]
  • Other

    • #323: Reimplement top menu bar as a list of links [Jacobo Aragunde Pérez]
    • #326: Redirect to original URL after successful login [Pablo Saavedra]
    • #334: Send email reminders for users to fill their tasks in [Pablo Abelenda]
    • #367: Hide Coordination menu and 'task story' fields [Pablo Saavedra]
    • #381: Add application icon and use it as a header, favicon and shortcut icon [Jacobo Aragunde Pérez]
    • #382: Open session check callback handles temporary network disconnections [Pablo Abelenda]
    • #395: Provide minified JS and source maps [Jacobo Aragunde Pérez]
    • #399: Fix error when calculating HEADER_HEIGHT [Jacobo Aragunde Pérez]
    • #401: Extract JS code in a number of PHP files [Jacobo Aragunde Pérez]
    • Remove dead code and reduce number of loaded JS files [Jacobo Aragunde Pérez]
    • Small code refactorings and clean-up [Jacobo Aragunde Pérez]
    • Update documentation [Jacobo Aragunde Pérez][Pablo Abelenda]
    • Create CONTRIBUTING.md [Jacobo Aragunde Pérez]
    • Do not store failed credentials in IncorrectLoginException [Jacobo Aragunde Pérez]

PhpReport 2.17

30 May 12:05
Compare
Choose a tag to compare

Read the announcement and highlights here.

List of changes

  • Tasks screen:

    • #219: Show up tooltip to see the full project name [Tony Thomas][Jacobo Aragunde Pérez]
    • #225: Fix: tasks created too soon cannot be saved [Tony Thomas]
    • #243: Implement overtime control: set per-user dedication goals for a period and track it weekly [Tony Thomas]
    • #246: Autosave tasks [Tony Thomas]
    • #247: Open empty days with a new, empty task [Tony Thomas]
    • #248: Remove customer as field for tasks and implement 1:N relation between projects and customers [Tony Thomas]
    • #249: Project combo to list only projects assigned to user [Tony Thomas]
    • #250: Change layout of fields in the tasks screen [Tony Thomas]
    • #252: Add previous/next day buttons and keyboard shortcuts [Tony Thomas]
    • #254: Implement persistent templates and migration from cookie-based templates [Jacobo Aragunde Pérez][Tony Thomas]
    • #265: Include task description in the template, prompt for template name on template creation [Tony Thomas]
    • #271: Combined search in combo box for customers and projects [Tony Thomas]
    • #293: Fix: template tasks may delete new tasks [Tony Thomas]
    • #309: Fix end time dropdown list scrolling itself back to the top [Jacobo Aragunde Pérez]
    • #310: Do not show close confirmation when it's just the empty task on screen [Tony Thomas]
    • #314: Don't automatically fill in the end time as the current time [Jacobo Aragunde Pérez]
    • #317: Fix JS error for empty tasks [Jacobo Aragunde Pérez]
    • #319: Fill project combo box while typing or when tabbing away [Jacobo Aragunde Pérez]
    • #327: Add a template button to create a full-day task [Jacobo Aragunde Pérez]
    • #329: Fix: Project combo doesn't support naive copy+paste between tasks [Jacobo Aragunde Pérez]
    • #342: Allow scroll bar for task text input [Jacobo Aragunde Pérez]
    • Code refactor and cleanup [Jacobo Aragunde Pérez]
  • Reports:

    • #186: Add customer name to project details report and to projects evaluation table [Tony Thomas]
    • #194: Add hours column to user tasks report [Tony Thomas]
    • #235: Scroll to logged in username in acc hours report [Tony Thomas]
    • #238: Add button to go to project details from project evaluation report [Tony Thomas]
    • #240: Implement new report to list weekly work hours per user for a project [Tony Thomas]
    • #241: Create 'Project Details' page and add top menu entry [Tony Thomas]
    • #242: New report: tasks done by a person between two dates [Tony Thomas]
    • #266: Make Project input wider on project details page [Tony Thomas]
    • #281: Implement better sorting on weekly hours reports, respecting year of tasks [Tony Thomas]
    • #290: Add customer filter to the project evaluation report [Tony Thomas]
    • Make all columns in acc hours report wider [Jacobo Aragunde Pérez]
    • Show project description + customer name in projects summary report [Jacobo Aragunde Pérez]
    • Focus the first filter field on every report [Jacobo Aragunde Pérez]
    • Load the report when ENTER is pressed, in DateIntervalForm reports [Jacobo Aragunde Pérez]
  • Project management screen:

    • #245: Apply alphabetical sort of areas in project management screen [Tony Thomas]
    • #248: Remove customer as field for tasks and implement 1:N relation between projects and customers [Tony Thomas]
    • #268: Re-enable user management screen for admin users [Tony Thomas]
    • #328: Fix customer not saved in project creation [Jacobo Aragunde Pérez]
    • Move 'assign people' button to the top toolbar [Jacobo Aragunde Pérez]
  • User management screen:

    • #111: Fix new groups not appearing in user administration web page [Jacobo Aragunde Pérez]
    • #142: Allow creation of users from the UI with LDAP authentication [Jacobo Aragunde Pérez]
    • Allow deletion of users with the LDAP backend [Jacobo Aragunde Pérez]
  • Other:

    • #65: Prompt user to login again when session has expired in background [Tony Thomas]
    • #69: Simplify implementation of HybridUserDAO->getAll() [Jacobo Aragunde Pérez]
    • #220: Fix strange behaviour of sector and type fields when creating a client [Tony Thomas]
    • #223: Force HTTP Authentication for login service [Tony Thomas]
    • #244: Introduce new 'manager' profile, restrict 'staff' access [Tony Thomas]
    • #273: Fix PHP error due to incorrect filename [Tony Thomas]
    • #279: Prevent different kinds of division by zero warnings [Jacobo Aragunde Pérez]
    • #291,#297: Remove unused getAllCustomProjectsService from codebase [Tony Thomas]
    • #297: Unify the different getProject services [Tony Thomas]
    • Add documentation for developers [Jacobo Aragunde Pérez]
    • Update user and admin documentation [Jacobo Aragunde Pérez]
    • Fix issues in help file generation [Jacobo Aragunde Pérez]
    • Add script to clear sensitive data from a PhpReport database [Jacobo Aragunde Pérez]
    • Remove several 'undefined constant' errors in DAOs [Jacobo Aragunde Pérez]
    • Fix undefined variable errors in BaseRelationshipDAO [Jacobo Aragunde Pérez]
    • Fix non-static method LoginManager::isLogged() called statically [Jacobo Aragunde Pérez]
    • Remove some unused code and debug statements left behind [Jacobo Aragunde Pérez]
    • Modify some queries for better compatibility with PostgreSQL < 9.5 [Jacobo Aragunde Pérez]
    • Fix PHP warning about null being passed to in_array() [Jacobo Aragunde Pérez]
    • Unify init/end field names in all project-related services [Jacobo Aragunde Pérez]
    • Remove abstract static methods that caused PHP warnings [Jacobo Aragunde Pérez]
    • Simplify and harden upgrade scripts [Jacobo Aragunde Pérez]

PhpReport 2.16

31 Mar 19:29
Compare
Choose a tag to compare

Release containing new features and bug fixes. Highlights for this release are
the possibility to export report tables in CSV format, the addition of
quick-access buttons for the most common date filters on reports and the new
behavior of the "copy from date" feature in tasks screen.

List of changes

  • Tasks screen:
    • Fix trim on story fields.
    • #148: Explicitly scroll to the newly added task.
    • #184: Copy tasks feature selects by default the previous date containing
      any tasks.
    • #203: Reset taskStory field in a task when the project field is changed.
    • #212: Show alert of unsaved tasks before leaving.
    • #218: Middle-click pasted text is properly saved.
    • #222: Cloned tasks belonging to closed projects cannot be assigned to the
      closed project.
    • #230: Fix conditions to prevent edition of tasks from closed projects.
    • #232: Use client timezone to get current date instead of the server's.
  • Project management screen:
    • Double-click to edit projects, consistently with other edition screens.
    • Fix tab navigation in client/user assigment subwindows.
    • Close subwindows with ESC.
    • Rearrange button layout in subwindows.
    • Clear "new project" subwindow every time it is used.
    • Select and scroll to newly added projects.
    • The grid now uses the entire screen space.
    • #192: Sort newly added projects into the list.
    • #231: Prevent removing start and end dates in newly added projects.
  • Reports:
    • Added quick-access buttons for current and previous week and current month.
    • Ability to export report tables in CSV format.
    • Accumulated hours report grid now uses the entire screen space.
    • Accumulated hours report keeps the selected row and scrolls to it when the
      report is refreshed.
    • #128: Fix conflict in date constraints when one date is deleted.
    • #133: Always open project details in a new window to prevent closing the
      open report.
    • #229: Fix unexpected results in partial extra hours report after extended
      timetable compensation.
  • Coordination tools:
    • #195: List project members as candidate reviewers for a story.
    • #198: List project members as candidate developers for a task-story.
    • #202: Add combo box in XP tracker screen to select any project, even if
      not listed.
    • #210: Prevent a division by zero when listing stories inside an iteration.
    • #213: List project members as candidate reviewers for a section.
  • Other:
    • Migrate project home to GitHub.
    • Upgrade Ext JS framework from 3.4.0 to 3.4.1.1.
    • Upgrade datepickerplus component from 1.4 to 1.4.3.
    • Refresh user and administrator documentation.
    • Correct errors in the installation instructions.
    • Fix some small problems in the installation process.
    • Underline focused button label to fix invisible focus problem in Chrome.
    • Underline the label next to a focused check box for better visibility.
    • Start splitting JS code contained inside PHP scripts for improved caching
      and easier debugging.
    • Add a column for comments in extra hour compensations management.
    • Extra hour compensations grid now uses the entire screen space.
    • Remove any usage of Flash in the application.
    • #188: Explicitly set week start to Monday in all the calendar widgets.
    • #226: Allow float values in extra hours compensation UI.
    • #233: Add week number to most date selectors.

PhpReport 2.1

26 Feb 12:42
Compare
Choose a tag to compare

Release containing new features and bug fixes.

Main changes

  • Implemented a feature to prevent the modifications of tasks older than a
    certain number of days.
  • New report for users to see a filtered list of their tasks.
  • Written documentation for sysadmins.
  • [#118] Added boolean field to mark on-site tasks.
  • [#164] Added some keyboard shortcuts to the task management screen.
  • [#183] Fix false positives in the detection of overlapping tasks.

Other changes

  • Added start and end date selectors to projects summary report.
  • Added show/hide all data buttons to projects summary report.
  • Allow the use of HTTP authentication in loginService.php.
  • Explicitly set start date for acc. hours report to the 1st of January of
    current year.
  • Implemented script to upgrade the DB from 2.0 to 2.1.
  • Added DB table containing the version number to ease upgrading in the future.
  • [#39] Only show one banner when saving.
  • [#160] Move delete/clone/template buttons below the description text area.
  • [#162] Fix wrong identification of the first week of the year at the weekly
    hour summary.
  • [#188] Explicitly set week start to Monday in all the calendar widgets.
  • [#189] Added footer with version and generation time to the docs.
  • [#191] Workaround a problem with trigger creation.

PhpReport 2.0

26 Feb 12:48
Compare
Choose a tag to compare

Release containing all the features considered for 2.0 milestone.

Changes

  • Written user documentation, integrated in the application.
  • Implemented a screen to create, edit and delete hour compensations.
  • Implemented a screen to create, edit and delete cities.
  • Implemented a screen to manage work calendars.
  • Upgraded Ext JS framework to the latest version in 3.x series, 3.4.0.
  • Reviewed permissions of the admin/user groups on some screens and services.
  • Reordered the menu bar, deleting the unused entries.
  • [Bug #131] Correct authorization problem related with project creation.
  • [Bug #136] Fix size of template creation and delete buttons.
  • [Bug #155] Prevent wrong calculation of project deviation.
  • [Bug #161] Prevent blank project details screen due to a null end date.
  • [Bug #168] Added holidays project to default installation.

PhpReport 2.0-beta2

26 Feb 12:50
Compare
Choose a tag to compare
PhpReport 2.0-beta2 Pre-release
Pre-release

Bugfixing release which fixes some open bugs and improves installation
instructions to be more concrete and specific; specially, a guide to install the
application in Windows systems has been written.

Changes

  • Improved installation instruccions:
    • Added specific steps for Debian/Ubuntu, RedHat/Fedora and Windows users.
    • Added a section with common problems.
  • [Bug #141] Fixed bug in user creation in fresh installs.
  • [Bug #150] Take into account moved hours to calculate deviation and cost per
    hour of a project.
  • [Bug #151] Detect when a project is opened but should be closed