Changes in this Release
Before upgrading
- Before you upgrade please disable all installed plugins. Once the upgrade is complete each plugin must be re-installed to get the latest version.
- When updating manually (copy pasting code) please ensure to remove old unneded classes in the core folder. It is best to do a full replace.
Breaking Changes
- The jsonRPC api was changed in various places. Please ensure to test any api integrations
- All plugins will need to be updated after an upgrade
Highlights
- Session management is now handled via laravel. Solving a lot of our timeout and logout issues
- Improved logging and exception handling
- jsonRPCApi received a lot of new endpoints
- Support for Zapier was created. The Zapier integration is in alpha. You can access the private app here: https://zapier.com/developer/public-invite/207240/cac6ec7a911bd5fa7924f38230d58d2f/
- Fixed various issues on CSV importer
- A lot of clean up of our core code
Commits
- 223cf2e [Changelog CI] Add Changelog for Version 3.2.0
- 2ad43d2 Fixes to version management for plugins
- 53e546f [Changelog CI] Add Changelog for Version 3.2.0
- 7c272f9 Update release.yml
- 3be5698 file list
- 16ad712 Timesheet fixes
- 7c4e93c Update Connector.php
- 5aeafc0 Update ApiClientTest.php
- b365dbe fixing csv
- 103c79e Rename eventhelpers trait
- 0c41896 fixing menu related bugs
- d8afdd9 Support for head requests
- a83f645 Update ApiClient.php
- cdf332d more cleanup
- 91dde9e Cleaning core file structure
- 15e26f8 version bump
- 26531b0 resolving conflicts
- f601580 Update composer.lock
- 679364a Fixing phpstan issues
- 73ad52c Misc template enhancements
- d58e164 Improves update check in case dbs have to be downgraded.
- 0538d68 Fixing various dateTime bugs across the system
- c64f09c Adding a new default job worker that can execute queue jobs via classes added to subject
- 7cb0199 Allow API to use any service and new api endpoints
- 9ac2732 Adding Redis Support for cache and sessions
- 30b4fff fix the canvas dialogue
- 9fd512b Fix for broken project favorite function
- 2bce7b6 Update queue service to include web worker
- b60b8be update event cache to include check for debug
- 0323519 Update bootstrap.php
- 19fd0d3 Update Logging.php
- d3d9008 test improvements
- aa36199 Update dockerfile
- a028f1e Fix docker permissions for log files
- d362108 Fix make file
- 6358e85 Clean up old excception handling in httpkernel
- 199ce6d piping environment config through
- 1fa1f46 Removed exception service provider since handler is managed in environment
- 5e5c0a6 Added Laravel exception handler with whoops
- c12ea2c Update PULL_REQUEST_TEMPLATE.md
- 9397ee7 Fix localization issues for dates with translated day, month names
- 83a06bf Fix for storing language
- b4bfcd3 Move changelogConfig out of the workflow folder
- 6cd0649 version bump
- 559ab75 version bump
- 6764016 Fix for #2606 and saving new items on blueprints
- 89bcdd6 Install welcome message update
- 4d0f450 variable name update and feedback review
- 6f68fe1 variable name update
- 2c9e8f8 done
- a2fd8f8 feedback
- 256a23a remove unnecessary plugins
- 213f5a9 fix make build-dev compile issue and add ddev config
- 961b829 1882: move moreinfo into span
- a4e0b11 resolving the feedback
- 9422468 blade conversion
- 7a37ee2 Update README.md for newer mysql version
- a78ed98 Lossless image filesize reduction
- 5c82d32 1882: add translations
- 8eaee14 1882: improve danish translation
- 966beb5 1882: add status, start and end date to milestone headline
- 3cf5c54 Improve current project setting flow
- c84d0ff Making laravel commands available
- b300219 Fix ambiguous modified field
- 375d700 phpstan update
- 6cd8c8d Fix csvimport
- 4be8103 Update release.yml
- ea70e34 Manifest updates
- 6e5ea13 clean up minimal theme
- 4f79ea9 fix history push error for modals
- a10bf2b Remove project detail step from onboarding
- 85a9648 Add modified fileds to db tables
- 0fff45e ensure default value is used in theme settings
- 6c2e9aa Ensure cache is set and used file for images
- 0fa5db2 update confetti management
- 78d6223 chore: remove unneeded comment
- 1e1a553 chore: switch to more specific function naming
pollForNewTimesheets
- d4a7356 fix: utilize addTicket for new milestone
- 85fd91f chore: clean up function name to encapsulate for todo and not generic ticket
- 1c9dbc9 enhance: utilize
updateTicket
instead of making a new zapier function for update todo action - 7b6950e fix: utilize
logTime
instead of making new zapier function for action - 9489f4a chore: remove unneeded comment
- 0303b90 enhance: make function name for polling new idea clearer
- 77acbfd chore: remove unneccesary todo comment
- 5623801 chore: default to previous headline of ticket if headline not sent to update function
- 2c6ba5e fix: remove
headline
requirement for updating ticket - e2dac9a fix: utilize user session with api key call
- cd9638f Updated polish translations
- 4278b96 [Changelog CI] Add Changelog for Version 3.2.0-beta-2
- bdc885f feat: zapier able to create timesheets via actions
- 8b2c7ec feat: ability for zapier to poll by new timesheets and updated timesheets
- 676461f feat: zapier actions to 1 - create todo 2 - create milestone 3 - update todo
- 63dca56 feat: ability for zapier to poll by new todo's and updated todo's
- 940175a feat: ability for zapier to poll by new milestones and updated milestones
- 4329be5 fix: ensure date attribute in tickets table gets updated when updating ticket
- 5cddaca feat: ability for zapier to poll by updated projects
- bdaf783 feat: ability for zapier to poll by new ideas and updated ideas
- 7521832 feat: ability for zapier to poll by goals and check for updated goals
- 167c8a8 feat: ability for zapier to poll by comments
Contributors
- Marcel Folaron (58 commits)
- kylemcshea (22 commits)
- DESKTOP-SVBVC1U\HP (7 commits)
- Sine Jespersen (4 commits)
- Joseph Roberts (2 commits)
- phulstaert (1 commits)
- Peter Hulstaert (1 commits)
- Mateusz Tylec (1 commits)
Files
.ddev/.env | 8 +
.ddev/config.yaml | 280 +++
.dev/.env | 4 +
.dev/dev-apache-site.conf | 8 +-
.dev/dev-apache2.conf | 2 +-
.dev/docker-compose.yaml | 12 +-
.dev/dockerfile | 2 +-
.dev/test.env | 2 +-
.dev/xdebug.ini | 4 +-
.github/PULL_REQUEST_TEMPLATE.md | 23 +-
.github/{workflows => }/changelogConfig.yml | 0
.github/workflows/release.yml | 26 +-
.gitignore | 1 -
.idea/blade.xml | 119 +
.idea/codeception.xml | 5 +-
.idea/encodings.xml | 6 +
.idea/laravel-idea.xml | 6 +
.idea/leantime-oss.iml | 33 +-
.idea/php.xml | 113 +-
.idea/phpspec.xml | 27 +
CHANGELOG.md | 157 ++
CONTRIBUTING.md | 2 +-
README.md | 2 +-
app/Command/BackupDbCommand.php | 5 +-
app/Command/TestEmailCommand.php | 6 +-
app/Command/UpdateLeantime.php | 8 +-
app/Core/AppSettings.php | 51 -
app/Core/{ => Bootstrap}/Application.php | 69 +-
app/Core/{ => Bootstrap}/Bootloader.php | 29 +-
app/Core/CliRequest.php | 8 -
app/Core/Configuration/AppSettings.php | 18 +
app/Core/{ => Configuration}/DefaultConfig.php | 38 +-
app/Core/{ => Configuration}/Environment.php | 2 +-
app/Core/Console/CliRequest.php | 10 +
app/Core/{ => Console}/ConsoleKernel.php | 18 +-
app/Core/{ => Contracts}/Service.php | 4 +-
app/Core/{ => Controller}/Composer.php | 2 +-
app/Core/{ => Controller}/Controller.php | 19 +-
app/Core/{ => Controller}/Frontcontroller.php | 7 +-
app/Core/{ => Controller}/HtmxController.php | 7 +-
app/Core/{ => Db}/Db.php | 10 +-
app/Core/{ => Db}/Repository.php | 11 +-
.../DispatchesEvents.php} | 8 +-
.../{Events.php => Events/EventDispatcher.php} | 130 +-
app/Core/ExceptionHandler.php | 74 -
app/Core/Exceptions/ExceptionHandler.php | 600 +++++
app/Core/Exceptions/HandleExceptions.php | 361 +++
app/Core/Exceptions/InvalidArgumentException.php | 25 +
app/Core/Exceptions/ReportableHandler.php | 82 +
app/Core/Exceptions/WhoopsHandler.php | 90 +
app/Core/Fileupload.php | 28 +-
app/Core/{ => Http}/ApiRequest.php | 2 +-
.../{ApiSession.php => Http/Client/ApiClient.php} | 4 +-
app/Core/{ => Http}/HtmxRequest.php | 2 +-
app/Core/{ => Http}/HttpKernel.php | 78 +-
app/Core/{ => Http}/IncomingRequest.php | 50 +-
app/Core/Language.php | 45 +-
app/Core/Mailer.php | 10 +-
app/Core/Middleware/ApiAuth.php | 10 +-
app/Core/Middleware/Auth.php | 8 +-
app/Core/Middleware/CurrentProject.php | 13 +-
app/Core/Middleware/InitialHeaders.php | 8 +-
app/Core/Middleware/Installed.php | 9 +-
app/Core/Middleware/Localization.php | 10 +-
app/Core/Middleware/RequestRateLimiter.php | 18 +-
app/Core/Middleware/StartSession.php | 60 +-
app/Core/Middleware/TrustProxies.php | 13 +-
app/Core/Middleware/Updated.php | 28 +-
app/Core/Plugins.php | 8 +-
app/Core/Providers/Auth.php | 5 -
app/Core/Providers/Cache.php | 40 +-
app/Core/Providers/Db.php | 9 +-
app/Core/Providers/Environment.php | 62 +-
app/Core/Providers/Events.php | 7 +-
app/Core/Providers/Language.php | 6 -
app/Core/Providers/Logging.php | 47 +
app/Core/Providers/RateLimiter.php | 7 -
app/Core/Providers/Redis.php | 80 +
app/Core/Providers/Session.php | 34 +-
app/Core/Support/CarbonMacros.php | 8 +-
app/Core/Support/DateTimeHelper.php | 27 +-
app/Core/Support/Format.php | 2 +-
app/Core/Support/Mix.php | 4 +-
app/Core/Template.php | 36 +-
app/Core/Theme.php | 32 +-
app/Domain/Api/Controllers/ApiKey.php | 2 +-
app/Domain/Api/Controllers/Calendar.php | 2 +-
app/Domain/Api/Controllers/Canvas.php | 4 +-
app/Domain/Api/Controllers/DelAPIKey.php | 6 +-
app/Domain/Api/Controllers/Files.php | 2 +-
app/Domain/Api/Controllers/I18n.php | 3 +-
app/Domain/Api/Controllers/Ideas.php | 2 +-
app/Domain/Api/Controllers/Ideation.php | 2 +-
app/Domain/Api/Controllers/Jsonrpc.php | 43 +-
app/Domain/Api/Controllers/NewApiKey.php | 2 +-
app/Domain/Api/Controllers/Notifications.php | 2 +-
app/Domain/Api/Controllers/Projects.php | 2 +-
app/Domain/Api/Controllers/Reactions.php | 2 +-
app/Domain/Api/Controllers/Sessions.php | 2 +-
app/Domain/Api/Controllers/Setting.php | 2 +-
app/Domain/Api/Controllers/StaticAsset.php | 12 +-
app/Domain/Api/Controllers/Submenu.php | 2 +-
app/Domain/Api/Controllers/Tags.php | 2 +-
app/Domain/Api/Controllers/Tickets.php | 2 +-
app/Domain/Api/Controllers/Timer.php | 2 +-
app/Domain/Api/Controllers/Users.php | 4 +-
app/Domain/Api/Repositories/Api.php | 3 +-
app/Domain/Api/Services/Api.php | 13 +-
app/Domain/Audit/Repositories/Audit.php | 2 +-
app/Domain/Auth/Controllers/KeepAlive.php | 4 +-
app/Domain/Auth/Controllers/Login.php | 6 +-
app/Domain/Auth/Controllers/Logout.php | 4 +-
app/Domain/Auth/Controllers/ResetPw.php | 4 +-
app/Domain/Auth/Controllers/UserInvite.php | 4 +-
app/Domain/Auth/Models/Roles.php | 4 +-
app/Domain/Auth/Repositories/Auth.php | 4 +-
app/Domain/Auth/Services/Auth.php | 35 +-
app/Domain/Auth/register.php | 14 +-
app/Domain/Calendar/Controllers/AddEvent.php | 4 +-
app/Domain/Calendar/Controllers/DelEvent.php | 6 +-
.../Calendar/Controllers/DelExternalCalendar.php | 6 +-
app/Domain/Calendar/Controllers/EditEvent.php | 6 +-
app/Domain/Calendar/Controllers/EditExternal.php | 4 +-
app/Domain/Calendar/Controllers/Export.php | 6 +-
app/Domain/Calendar/Controllers/ExternalCal.php | 6 +-
app/Domain/Calendar/Controllers/Ical.php | 5 +-
app/Domain/Calendar/Controllers/ImportGCal.php | 4 +-
app/Domain/Calendar/Controllers/ShowAllGCals.php | 4 +-
app/Domain/Calendar/Controllers/ShowMyCalendar.php | 4 +-
app/Domain/Calendar/Repositories/Calendar.php | 7 +-
app/Domain/Calendar/Services/Calendar.php | 2 +-
app/Domain/Canvas/Controllers/BoardDialog.php | 13 +-
app/Domain/Canvas/Controllers/DelCanvas.php | 8 +-
app/Domain/Canvas/Controllers/DelCanvasItem.php | 6 +-
.../Canvas/Controllers/EditCanvasComment.php | 13 +-
app/Domain/Canvas/Controllers/EditCanvasItem.php | 13 +-
app/Domain/Canvas/Controllers/Export.php | 6 +-
app/Domain/Canvas/Controllers/ShowCanvas.php | 32 +-
app/Domain/Canvas/Repositories/Canvas.php | 6 +-
.../Canvas/Templates/showCanvasBottom.inc.php | 4 +
app/Domain/Clients/Controllers/DelClient.php | 6 +-
app/Domain/Clients/Controllers/EditClient.php | 4 +-
app/Domain/Clients/Controllers/NewClient.php | 6 +-
app/Domain/Clients/Controllers/ShowAll.php | 4 +-
app/Domain/Clients/Controllers/ShowClient.php | 14 +-
app/Domain/Clients/Repositories/Clients.php | 4 +-
app/Domain/Clients/Services/Clients.php | 6 +-
app/Domain/Comments/Controllers/ShowAll.php | 8 +-
app/Domain/Comments/Repositories/Comments.php | 59 +-
app/Domain/Comments/Services/Comments.php | 16 +-
.../Templates/submodules/generalComment.sub.php | 2 +-
app/Domain/Connector/Controllers/Integration.php | 25 +-
app/Domain/Connector/Controllers/Providers.php | 2 +-
app/Domain/Connector/Controllers/Show.php | 2 +-
app/Domain/Connector/Models/Integration.php | 12 +
app/Domain/Connector/Repositories/Integrations.php | 3 +-
app/Domain/Connector/Services/Connector.php | 11 +-
app/Domain/Connector/Services/Integrations.php | 1 -
app/Domain/Connector/Services/Providers.php | 4 +-
app/Domain/Cron/Controllers/Run.php | 20 +-
app/Domain/Cron/Services/Cron.php | 12 +-
app/Domain/CsvImport/Controllers/Upload.php | 11 +-
app/Domain/CsvImport/Services/CsvImport.php | 4 +-
app/Domain/CsvImport/Templates/upload.tpl.php | 2 +-
app/Domain/CsvImport/register.php | 4 +-
app/Domain/Dashboard/Controllers/Home.php | 18 +-
app/Domain/Dashboard/Controllers/Show.php | 20 +-
app/Domain/Dashboard/Repositories/Dashboard.php | 2 +-
.../Repositories/Entityrelations.php | 6 +-
app/Domain/Errors/Controllers/Error403.php | 3 +-
app/Domain/Errors/Controllers/Error404.php | 3 +-
app/Domain/Errors/Controllers/Error500.php | 3 +-
app/Domain/Errors/Controllers/Error501.php | 4 +-
app/Domain/Files/Controllers/Browse.php | 4 +-
app/Domain/Files/Controllers/Get.php | 8 +-
app/Domain/Files/Controllers/ShowAll.php | 4 +-
app/Domain/Files/Repositories/Files.php | 4 +-
app/Domain/Files/Templates/browse.tpl.php | 2 +-
.../Files/Templates/submodules/showAll.sub.php | 2 +-
app/Domain/Gamecenter/Controllers/Launch.php | 2 +-
app/Domain/Goalcanvas/Controllers/BigRock.php | 10 +-
app/Domain/Goalcanvas/Controllers/Dashboard.php | 31 +-
app/Domain/Goalcanvas/Controllers/DelCanvas.php | 55 +-
.../Goalcanvas/Controllers/DelCanvasItem.php | 44 +-
.../Goalcanvas/Controllers/EditCanvasComment.php | 273 ++-
.../Goalcanvas/Controllers/EditCanvasItem.php | 18 +-
app/Domain/Goalcanvas/Controllers/ShowCanvas.php | 26 +-
app/Domain/Goalcanvas/Repositories/Goalcanvas.php | 204 +-
app/Domain/Goalcanvas/Services/Goalcanvas.php | 67 +-
.../Goalcanvas/Templates/bigRockDialog.blade.php | 31 +-
.../Goalcanvas/Templates/canvasComment.blade.php | 66 +
.../Goalcanvas/Templates/canvasComment.tpl.php | 13 -
.../Goalcanvas/Templates/canvasDialog.blade.php | 241 ++
.../Goalcanvas/Templates/canvasDialog.tpl.php | 307 ---
.../Goalcanvas/Templates/dashboard.blade.php | 368 +++
app/Domain/Goalcanvas/Templates/dashboard.tpl.php | 724 ------
.../Goalcanvas/Templates/delCanvas.blade.php | 15 +
app/Domain/Goalcanvas/Templates/delCanvas.tpl.php | 13 -
.../Goalcanvas/Templates/delCanvasItem.blade.php | 12 +
.../Goalcanvas/Templates/delCanvasItem.tpl.php | 13 -
.../Templates/showBottomCanvas.blade.php | 66 +
.../Goalcanvas/Templates/showCanvas.blade.php | 488 ++++
app/Domain/Goalcanvas/Templates/showCanvas.tpl.php | 404 ----
app/Domain/Help/Composers/Helpermodal.php | 4 +-
app/Domain/Help/Controllers/FirstLogin.php | 8 +-
.../Help/Controllers/ShowOnboardingDialog.php | 2 +-
app/Domain/Help/Controllers/Updates.php | 2 +-
app/Domain/Help/Js/helperController.js | 1 +
app/Domain/Help/Services/Helper.php | 8 +-
app/Domain/Help/Services/InviteTeamStep.php | 5 +-
app/Domain/Help/Services/ProjectDefinitionStep.php | 4 +-
app/Domain/Help/Services/ProjectIntroStep.php | 4 +-
app/Domain/Ideas/Controllers/AdvancedBoards.php | 6 +-
app/Domain/Ideas/Controllers/BoardDialog.php | 12 +-
app/Domain/Ideas/Controllers/DelCanvas.php | 6 +-
app/Domain/Ideas/Controllers/DelCanvasItem.php | 6 +-
app/Domain/Ideas/Controllers/IdeaDialog.php | 16 +-
app/Domain/Ideas/Controllers/ShowBoards.php | 8 +-
app/Domain/Ideas/Repositories/Ideas.php | 65 +-
app/Domain/Ideas/Services/Ideas.php | 57 +
app/Domain/Ideas/Templates/ideaDialog.tpl.php | 2 +-
app/Domain/Ideas/Templates/showBoards.tpl.php | 5 +-
app/Domain/Install/Controllers/Index.php | 6 +-
app/Domain/Install/Controllers/Update.php | 8 +-
app/Domain/Install/Repositories/Install.php | 63 +-
app/Domain/Install/Templates/new.tpl.php | 3 -
app/Domain/Install/register.php | 23 +
app/Domain/Ldap/Services/Ldap.php | 52 +-
app/Domain/Menu/Composers/HeadMenu.php | 6 +-
app/Domain/Menu/Composers/Menu.php | 14 +-
app/Domain/Menu/Composers/ProjectSelector.php | 11 +-
app/Domain/Menu/Hxcontrollers/ProjectSelector.php | 10 +-
app/Domain/Menu/Repositories/Menu.php | 6 +-
app/Domain/Menu/Services/Menu.php | 6 +-
.../Menu/Templates/projectSelector.blade.php | 2 +-
.../Modulemanager/Controllers/Notavailable.php | 6 +-
.../Modulemanager/Services/Modulemanager.php | 2 +-
.../Notifications/Controllers/GetLatestGrowl.php | 2 +-
app/Domain/Notifications/Hxcontrollers/News.php | 5 +-
.../Notifications/Hxcontrollers/NewsBadge.php | 5 +-
.../Notifications/Listeners/NotifyProjectUsers.php | 1 -
.../Notifications/Repositories/Notifications.php | 2 +-
app/Domain/Notifications/Services/Messengers.php | 8 +-
app/Domain/Notifications/Services/News.php | 5 +-
.../Notifications/Services/Notifications.php | 2 +-
app/Domain/Notifications/register.php | 4 +-
app/Domain/Oidc/Controllers/Callback.php | 4 +-
app/Domain/Oidc/Controllers/Login.php | 4 +-
app/Domain/Oidc/Services/Oidc.php | 6 +-
app/Domain/Plugins/Controllers/CssLoader.php | 6 +-
app/Domain/Plugins/Controllers/Details.php | 2 +-
app/Domain/Plugins/Controllers/Marketplace.php | 2 +-
app/Domain/Plugins/Controllers/Myapps.php | 8 +-
app/Domain/Plugins/Hxcontrollers/Details.php | 7 +-
.../Plugins/Hxcontrollers/Marketplaceplugins.php | 2 +-
app/Domain/Plugins/Models/MarketplacePlugin.php | 1 +
app/Domain/Plugins/Repositories/Plugins.php | 2 +-
app/Domain/Plugins/Services/Plugins.php | 25 +-
app/Domain/Plugins/register.php | 7 +-
.../Projects/Controllers/ChangeCurrentProject.php | 6 +-
app/Domain/Projects/Controllers/Createnew.php | 13 +-
app/Domain/Projects/Controllers/DelProject.php | 8 +-
.../Projects/Controllers/DuplicateProject.php | 10 +-
app/Domain/Projects/Controllers/NewProject.php | 15 +-
app/Domain/Projects/Controllers/ShowAll.php | 6 +-
app/Domain/Projects/Controllers/ShowMy.php | 6 +-
app/Domain/Projects/Controllers/ShowProject.php | 22 +-
app/Domain/Projects/Hxcontrollers/Checklist.php | 2 +-
app/Domain/Projects/Hxcontrollers/ProjectCard.php | 20 +-
.../Projects/Hxcontrollers/ProjectCardProgress.php | 17 +-
.../Projects/Hxcontrollers/ProjectHubProjects.php | 13 +-
app/Domain/Projects/Repositories/Projects.php | 51 +-
app/Domain/Projects/Services/Projects.php | 167 +-
.../Templates/partials/projectCard.blade.php | 4 +-
app/Domain/Queue/Repositories/Queue.php | 6 +-
app/Domain/Queue/Services/Queue.php | 23 +-
app/Domain/Queue/Workers/DefaultWorker.php | 48 +
app/Domain/Queue/Workers/EmailWorker.php | 1 -
app/Domain/Queue/Workers/HttpRequestWorker.php | 6 +-
app/Domain/Queue/Workers/Workers.php | 2 +
app/Domain/Queue/register.php | 8 +-
app/Domain/Reactions/Models/Reactions.php | 4 +-
app/Domain/Reactions/Repositories/Reactions.php | 2 +-
app/Domain/Read/Repositories/Read.php | 2 +-
app/Domain/Reports/Controllers/Show.php | 12 +-
app/Domain/Reports/Repositories/Reports.php | 2 +-
app/Domain/Reports/Services/Reports.php | 40 +-
app/Domain/Reports/register.php | 6 +-
app/Domain/Setting/Controllers/EditBoxLabel.php | 10 +-
.../Setting/Controllers/EditCompanySettings.php | 11 +-
app/Domain/Setting/Repositories/Setting.php | 15 +-
app/Domain/Sprints/Controllers/DelSprint.php | 6 +-
app/Domain/Sprints/Controllers/EditSprint.php | 9 +-
app/Domain/Sprints/Repositories/Sprints.php | 2 +-
app/Domain/Strategy/Controllers/ShowBoards.php | 2 +-
app/Domain/Tickets/Controllers/DelMilestone.php | 6 +-
app/Domain/Tickets/Controllers/DelTicket.php | 6 +-
app/Domain/Tickets/Controllers/EditMilestone.php | 16 +-
app/Domain/Tickets/Controllers/MoveTicket.php | 8 +-
app/Domain/Tickets/Controllers/NewTicket.php | 14 +-
app/Domain/Tickets/Controllers/Roadmap.php | 3 +-
app/Domain/Tickets/Controllers/RoadmapAll.php | 6 +-
app/Domain/Tickets/Controllers/ShowAll.php | 6 +-
.../Tickets/Controllers/ShowAllMilestones.php | 4 +-
.../Controllers/ShowAllMilestonesOverview.php | 6 +-
app/Domain/Tickets/Controllers/ShowKanban.php | 8 +-
app/Domain/Tickets/Controllers/ShowList.php | 8 +-
.../Tickets/Controllers/ShowProjectCalendar.php | 6 +-
app/Domain/Tickets/Controllers/ShowTicket.php | 10 +-
app/Domain/Tickets/Hxcontrollers/Milestones.php | 5 +-
app/Domain/Tickets/Hxcontrollers/Subtasks.php | 4 +-
app/Domain/Tickets/Hxcontrollers/TicketCard.php | 4 +-
app/Domain/Tickets/Hxcontrollers/TimerButton.php | 3 +-
app/Domain/Tickets/Models/Tickets.php | 1 +
app/Domain/Tickets/Repositories/TicketHistory.php | 3 +-
app/Domain/Tickets/Repositories/Tickets.php | 15 +-
app/Domain/Tickets/Services/Tickets.php | 241 +-
app/Domain/Tickets/Templates/showAll.tpl.php | 3 +-
.../Templates/submodules/portfolioHeader.sub.php | 2 +-
.../Templates/submodules/ticketBoardTabs.sub.php | 2 +-
.../Templates/submodules/ticketFilter.sub.php | 2 +-
.../Templates/submodules/ticketHeader.sub.php | 2 +-
.../Templates/submodules/timelineHeader.sub.php | 2 +-
.../Templates/submodules/timelineTabs.sub.php | 2 +-
app/Domain/Timesheets/Controllers/AddTime.php | 6 +-
app/Domain/Timesheets/Controllers/DelTime.php | 6 +-
app/Domain/Timesheets/Controllers/EditTime.php | 6 +-
app/Domain/Timesheets/Controllers/ShowAll.php | 10 +-
app/Domain/Timesheets/Controllers/ShowMy.php | 11 +-
app/Domain/Timesheets/Controllers/ShowMyList.php | 6 +-
app/Domain/Timesheets/Hxcontrollers/Stopwatch.php | 3 +-
app/Domain/Timesheets/Repositories/Timesheets.php | 748 +++---
app/Domain/Timesheets/Services/Timesheets.php | 61 +
app/Domain/Timesheets/Templates/showAll.tpl.php | 2 +-
app/Domain/Timesheets/Templates/showMy.tpl.php | 2 +-
app/Domain/TwoFA/Controllers/Edit.php | 2 +-
app/Domain/TwoFA/Controllers/Verify.php | 4 +-
app/Domain/Users/Controllers/DelUser.php | 4 +-
app/Domain/Users/Controllers/EditOwn.php | 11 +-
app/Domain/Users/Controllers/EditUser.php | 8 +-
app/Domain/Users/Controllers/Import.php | 8 +-
app/Domain/Users/Controllers/NewUser.php | 8 +-
app/Domain/Users/Controllers/ShowAll.php | 6 +-
app/Domain/Users/Repositories/Users.php | 6 +-
app/Domain/Users/Services/Users.php | 4 +-
.../Valuecanvas/Templates/canvasDialog.tpl.php | 6 +-
app/Domain/Widgets/Controllers/WidgetManager.php | 9 +-
app/Domain/Widgets/Hxcontrollers/Calendar.php | 11 +-
app/Domain/Widgets/Hxcontrollers/MyProjects.php | 11 +-
app/Domain/Widgets/Hxcontrollers/MyToDos.php | 11 +-
app/Domain/Widgets/Hxcontrollers/Welcome.php | 11 +-
app/Domain/Widgets/Services/Widgets.php | 8 +-
app/Domain/Widgets/register.php | 4 +-
app/Domain/Wiki/Controllers/ArticleDialog.php | 4 +-
app/Domain/Wiki/Controllers/DelArticle.php | 4 +-
app/Domain/Wiki/Controllers/DelWiki.php | 4 +-
app/Domain/Wiki/Controllers/Show.php | 4 +-
app/Domain/Wiki/Controllers/Templates.php | 4 +-
app/Domain/Wiki/Controllers/WikiModal.php | 4 +-
app/Language/da-DK.ini | 5 +-
app/Language/en-US.ini | 14 +
app/Language/pl-PL.ini | 2412 +++++++++----------
app/Plugins | 2 +-
app/Views/Composers/App.php | 8 +-
app/Views/Composers/Entry.php | 2 +-
app/Views/Composers/Footer.php | 4 +-
app/Views/Composers/Header.php | 6 +-
app/Views/Composers/PageBottom.php | 6 +-
app/Views/Templates/layouts/error.blade.php | 13 +-
app/Views/Templates/sections/header.blade.php | 18 +-
app/helpers.php | 57 +-
bin/leantime | 2 +-
blocklist.json | 4 -
composer.json | 20 +-
composer.lock | 2415 +++++++++++++-------
generateBlocklist.mjs | 2 +-
logs/.gitignore | 4 +
makefile | 9 +-
package-lock.json | 26 +-
package.json | 2 +-
phpcs.xml | 3 -
phpstan.neon | 6 +-
public/assets/css/components/structure.css | 2 +-
public/assets/css/components/style.default.css | 2 +-
public/assets/css/components/wysiwyg-overrides.css | 6 +
public/assets/images/Screenshots/apps.png | Bin 1301600 -> 715919 bytes
public/assets/images/Screenshots/blueprints.png | Bin 1275795 -> 701616 bytes
public/assets/images/Screenshots/calendar.png | Bin 1107082 -> 568384 bytes
public/assets/images/Screenshots/dark.png | Bin 834745 -> 434942 bytes
public/assets/images/Screenshots/docs.png | Bin 999655 -> 522833 bytes
public/assets/images/Screenshots/goals.png | Bin 1541164 -> 699738 bytes
public/assets/images/Screenshots/kanban.png | Bin 1254277 -> 580541 bytes
public/assets/images/Screenshots/mywork.png | Bin 1111587 -> 619403 bytes
.../assets/images/Screenshots/projectDashboard.png | Bin 1367773 -> 745864 bytes
public/assets/images/Screenshots/table.png | Bin 1374293 -> 603685 bytes
public/assets/images/Screenshots/timeline.png | Bin 1002943 -> 507251 bytes
public/assets/images/Screenshots/timesheet.png | Bin 1594929 -> 627596 bytes
public/assets/images/backgrounds/bg1.png | Bin 502632 -> 348892 bytes
public/assets/images/backgrounds/bg2.png | Bin 826680 -> 769041 bytes
public/assets/images/backgrounds/bg3.png | Bin 413265 -> 229419 bytes
public/assets/images/backgrounds/bg4.png | Bin 1028919 -> 623210 bytes
public/assets/images/backgrounds/bg5.png | Bin 297276 -> 150843 bytes
public/assets/images/backgrounds/bg6.png | Bin 133140 -> 110251 bytes
public/assets/images/backgrounds/bg7.png | Bin 1710266 -> 1308565 bytes
public/assets/images/doc.png | Bin 29359 -> 26196 bytes
public/assets/images/icon-192.png | Bin 10830 -> 5105 bytes
public/assets/images/icon-512.png | Bin 40016 -> 17191 bytes
public/assets/images/logo-powered-by-leantime.png | Bin 9367 -> 7665 bytes
public/assets/images/logo.png | Bin 1353 -> 930 bytes
public/assets/images/logo_blue.png | Bin 17862 -> 9399 bytes
public/assets/images/openid-icon.png | Bin 1377 -> 873 bytes
public/assets/images/spotlightBg.png | Bin 3453482 -> 2624794 bytes
.../assets/images/undraw_progressive_app_m9ms.png | Bin 41866 -> 37107 bytes
public/assets/js/app/core/modals.js | 9 +-
.../jquery.nyroModal/js/jquery.nyroModal.custom.js | 4 +-
public/dist/mix-manifest.json | 133 +-
public/download.php | 2 +-
public/images/icon-192.png | Bin 10830 -> 5105 bytes
public/images/icon-512.png | Bin 40016 -> 17191 bytes
public/index.php | 7 +-
public/theme/minimal/css/light.css | 6 +-
.../Core/{ApiSessionTest.php => ApiClientTest.php} | 19 +-
tests/Unit/app/Core/EventsTest.php | 22 +-
tests/bootstrap.php | 16 +-
424 files changed, 9608 insertions(+), 5725 deletions(-)