4334 Commits

Author SHA1 Message Date
Yonas Habteab
b619dd2186 Add activateEntry() & getActiveEntry() interface methods 2023-07-14 20:05:35 +02:00
Yonas Habteab
ee829fd4dc Unify error messages & add some class docblocks 2023-07-14 20:05:35 +02:00
Yonas Habteab
ebcc8ebc59 Model: Remove some unnecessary codes 2023-07-14 20:05:35 +02:00
Yonas Habteab
c56cbf25d6 Replace count(getEntries()) with countEntries() 2023-07-14 20:05:35 +02:00
Yonas Habteab
d0b3437995 Dashlet: Add return type decleration where applicable & use parent method in toArray() 2023-07-14 20:05:35 +02:00
Yonas Habteab
92226d4f08 DashboardList: Try to load dashlets when the current pane is empty
The controller only loads dashboards/dashlets either of the given name
or of the first home/pane that can be determined, so we need to load dashlets
for panes that aren't active when creating the list. Otherwise, we will end
up with empty dashboard panes.
2023-07-14 20:05:35 +02:00
Yonas Habteab
a6483e6e28 Pane: Implement DashboardEntry & add some return type decs & fixlets 2023-07-14 20:05:35 +02:00
Yonas Habteab
94d3fd2ac4 DashboardHome: Check whether org home doesn't match the current one before moving a pane
When updating/creating a Dashlet, the current and the original home passed as param
might be identical, which is fine but this shouldn't cause any duplicate entry errors
2023-07-14 20:05:34 +02:00
Yonas Habteab
ffbdbb9e13 DashboardEntries: Implement countEntries() & enhance how widgets are reordered 2023-07-14 20:05:34 +02:00
Yonas Habteab
4a347362e2 DashboardEntry: Introduce counteEntries() method & add return type dec where applicable 2023-07-14 20:05:34 +02:00
Yonas Habteab
79ca930930 BaseDashboard: Don't implement DashboardEntry interface 2023-07-14 20:05:34 +02:00
Yonas Habteab
1ecbce7041 Render search hint without using a view script 2023-07-14 20:05:34 +02:00
Yonas Habteab
a726348718 Drop all dashboards related legacy codes 2023-07-14 20:05:34 +02:00
Yonas Habteab
e689959839 Redirect properly when the currently active home/pane is removed/moved
When the currently request home/pane is being removed/moved and we're still redirecting
with the `__CLOSE__` url, the removed/moved home/pane will sill remain in the history
state and will produce http not found exceptions
2023-07-14 20:05:34 +02:00
Yonas Habteab
22d483b515 Fix moving panes around using drag&drop doesn't update the tabs sometimes 2023-07-14 20:05:34 +02:00
raviks789
122505ced4 Ensure drag and drop of dashboard home happens correctly (caused by b6958b1) 2023-07-14 20:05:34 +02:00
raviks789
4369b121c6 Do not make first letter of dashboard key capital 2023-07-14 20:05:34 +02:00
raviks789
8f9a55fcbf Allow adding and editing of dashlet description. 2023-07-14 20:05:34 +02:00
Yonas Habteab
a2e9d3c946 Allow creating same dashlets from different modules 2023-07-14 20:05:34 +02:00
Yonas Habteab
d38ad63c96 DashboardEntries: Perform case-insensitive key checks when searching for dashboard entry 2023-07-14 20:05:34 +02:00
raviks789
f3de1dd2b6 Fix Add to Dashboard feature 2023-07-14 20:05:34 +02:00
Yonas Habteab
77e759fe8e Pane: Don't break the foreach prematurely when managing dashlets from multiple modules 2023-07-14 20:05:34 +02:00
Yonas Habteab
91272870a3 DBUtils: Make sure to use string types for hex/binary formats 2023-07-14 20:05:34 +02:00
Yonas Habteab
641e3042b3 DashboardManager: Don't raise an error when the passed name is the default home 2023-07-14 20:05:34 +02:00
Sukhwinder Dhillon
09a87f105d Database: Only pass string values as param to isBinary()
This fixes the error while loging in with remember-me checked
2023-07-14 20:05:34 +02:00
Yonas Habteab
3be596641f Render also the cog icon when there is more than 1 home 2023-07-14 20:05:34 +02:00
Sukhwinder Dhillon
95c6b7cd7f Add edit icon 2023-07-14 20:05:34 +02:00
Yonas Habteab
3058983011 Force to refresh the menu container when removing a home & unset moved entry from the original widget 2023-07-14 20:05:34 +02:00
Yonas Habteab
f9aba0c7ff Disable drag&drop events for the default home 2023-07-14 20:05:34 +02:00
Yonas Habteab
fbd2192ddc Database: Add missing param to the func callback 2023-07-14 20:05:34 +02:00
Yonas Habteab
5313dfa345 Remove TODO comment 2023-07-14 20:05:34 +02:00
Yonas Habteab
77db6c3168 DashboardManager: Don't deploy module dashlets if we're not on web environment 2023-07-14 20:05:34 +02:00
Yonas Habteab
89b95d74bf Replace usage of LogicException with AlreadyExistsException where applicable 2023-07-14 20:05:34 +02:00
Yonas Habteab
20e94f4ec7 Tests: Cleanup codes 2023-07-14 20:05:34 +02:00
Yonas Habteab
12af0d2ce1 Don't silenty ignore duplicate errors when managing Panes/Dashlets 2023-07-14 20:05:34 +02:00
Yonas Habteab
a118831b38 Always load dashlets for all of the dashboard pane & activate only the given| the first one 2023-07-14 20:05:34 +02:00
Yonas Habteab
56bfe76a84 Remove unused method from ItemListControl & try to load dashboards in HomeList only when it's empty 2023-07-14 20:05:34 +02:00
Yonas Habteab
79dd4f37ff DashboardSettings: Don't manually cast url to string
Otherwise, the passed url params won't be decoded correctly
2023-07-14 20:05:34 +02:00
Yonas Habteab
d64515f5ec Adjust usage of Query::setColumns() & optimize imports 2023-07-14 20:05:32 +02:00
Yonas Habteab
3c603ca93b BaseDashboardTestCase: Add empty line at the end of the file 2023-07-14 20:04:31 +02:00
Yonas Habteab
c4112b40d5 Don't access Request except in controller & activate home/pane by a given name 2023-07-14 20:04:31 +02:00
Yonas Habteab
c773ad3ac7 SearchDashboardTest: Adjust unit tests according to the new dashboards 2023-07-14 20:04:28 +02:00
Yonas Habteab
af4d9c8257 Test: Introduce BaseDashboardTestCase class 2023-07-14 19:51:08 +02:00
Yonas Habteab
6939820c24 Test: Introduce DB fixtures 2023-07-14 19:51:08 +02:00
Yonas Habteab
da56ba898d DBUtils: Introduce setConn() method 2023-07-14 19:51:08 +02:00
Yonas Habteab
2405c7a1fc DashboardManager: Ensure to insert dashboard homes with correct priority order 2023-07-14 19:51:08 +02:00
Yonas Habteab
d0d7e4ebd1 Move pane related codes from Dashboard -> DashboardHome class 2023-07-14 19:51:08 +02:00
Yonas Habteab
4a32ee7b60 DashboardsController: Add the welcomeFrom instance directly to the dashboard
Since we no longer use an additional wrapper for the dashboards,
the welcome form can be added directly to the dashboard instance
2023-07-14 19:51:08 +02:00
Yonas Habteab
a8a4738944 Update priority order of the widget being moved properly 2023-07-14 19:51:08 +02:00
Yonas Habteab
3048969cca DashboardManager: Try to activate homes based on the request params 2023-07-14 19:51:08 +02:00