{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":383379606,"defaultBranch":"master","name":"snipe-it","ownerLogin":"Toreg87","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-07-06T07:30:37.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/84392209?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721015454.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"b74cf0e0fc9544920e5c3cbb63dca9832ada5a96","ref":"refs/heads/dependabot/github_actions/develop/codacy/codacy-analysis-cli-action-4.4.5","pushedAt":"2024-07-15T03:50:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump codacy/codacy-analysis-cli-action from 4.4.1 to 4.4.5\n\nBumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 4.4.1 to 4.4.5.\n- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)\n- [Commits](https://github.com/codacy/codacy-analysis-cli-action/compare/v4.4.1...v4.4.5)\n\n---\nupdated-dependencies:\n- dependency-name: codacy/codacy-analysis-cli-action\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump codacy/codacy-analysis-cli-action from 4.4.1 to 4.4.5"}},{"before":null,"after":"f3435466c93f12e4a5efd6c2d96efc822a83ee72","ref":"refs/heads/dependabot/github_actions/develop/docker/build-push-action-6","pushedAt":"2024-06-24T03:06:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump docker/build-push-action from 5 to 6\n\nBumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.\n- [Release notes](https://github.com/docker/build-push-action/releases)\n- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)\n\n---\nupdated-dependencies:\n- dependency-name: docker/build-push-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump docker/build-push-action from 5 to 6"}},{"before":null,"after":"bf38cc258f7a8592fd6f3fa6c80587c4349939eb","ref":"refs/heads/dependabot/github_actions/develop/crowdin/github-action-2","pushedAt":"2024-06-03T03:28:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump crowdin/github-action from 1 to 2\n\nBumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1 to 2.\n- [Release notes](https://github.com/crowdin/github-action/releases)\n- [Commits](https://github.com/crowdin/github-action/compare/v1...v2)\n\n---\nupdated-dependencies:\n- dependency-name: crowdin/github-action\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump crowdin/github-action from 1 to 2"}},{"before":"57723dd148061fd2e6d1ac4a41b436dc377e812a","after":null,"ref":"refs/heads/dependabot/github_actions/develop/codacy/codacy-analysis-cli-action-4.4.1","pushedAt":"2024-05-14T04:48:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"6980ecafda3b7cbe410102f987945fd0f8e4dcf4","after":"c40e64f9ef16acddbe58d80d1bf90b41c909f0ec","ref":"refs/heads/own_master","pushedAt":"2024-05-14T04:48:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"2decc3d6d3fe36100a80de809306119ca8cd5ea3","after":"d2e7e11dcadd6b6b11b0736481dbec4136de362d","ref":"refs/heads/develop","pushedAt":"2024-05-14T04:48:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Removed debug line\n\nSigned-off-by: snipe ","shortMessageHtmlLink":"Removed debug line"}},{"before":"4642f50d6b9d0cb749f4a02605b009feddc2fb5c","after":"6823aabf929315f0a2b0615797edc4722c0e05df","ref":"refs/heads/master","pushedAt":"2024-05-14T04:47:54.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/develop'\n\nSigned-off-by: snipe \n\n# Conflicts:\n#\tconfig/version.php","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/develop'"}},{"before":"f1e156ded7facbf0f6a46dccf1fcd67e4eb3d857","after":"6980ecafda3b7cbe410102f987945fd0f8e4dcf4","ref":"refs/heads/own_master","pushedAt":"2024-05-13T06:41:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"46779ca86535f7693041d26b4de0ed591a1daa04","after":"2decc3d6d3fe36100a80de809306119ca8cd5ea3","ref":"refs/heads/develop","pushedAt":"2024-05-13T06:40:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge pull request #14711 from snipe/jerm/fix-all-query-in-sidebar-middleware\n\nFix memory-hog query in AssetCountForSidebar middleware","shortMessageHtmlLink":"Merge pull request snipe#14711 from snipe/jerm/fix-all-query-in-sideb…"}},{"before":"c8fbf7640c11b00b8c31bd6b1c036a046f203e5e","after":"4642f50d6b9d0cb749f4a02605b009feddc2fb5c","ref":"refs/heads/master","pushedAt":"2024-05-13T06:35:50.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/develop'","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/develop'"}},{"before":null,"after":"57723dd148061fd2e6d1ac4a41b436dc377e812a","ref":"refs/heads/dependabot/github_actions/develop/codacy/codacy-analysis-cli-action-4.4.1","pushedAt":"2024-05-13T03:32:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump codacy/codacy-analysis-cli-action from 4.4.0 to 4.4.1\n\nBumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 4.4.0 to 4.4.1.\n- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)\n- [Commits](https://github.com/codacy/codacy-analysis-cli-action/compare/v4.4.0...v4.4.1)\n\n---\nupdated-dependencies:\n- dependency-name: codacy/codacy-analysis-cli-action\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump codacy/codacy-analysis-cli-action from 4.4.0 to 4.4.1"}},{"before":"6c13760e9e6d31f88f419a67e237afe832c3a36a","after":"f1e156ded7facbf0f6a46dccf1fcd67e4eb3d857","ref":"refs/heads/own_master","pushedAt":"2024-05-08T12:45:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"3084521521187020eb7f2daa136be569ca196fe0","after":"46779ca86535f7693041d26b4de0ed591a1daa04","ref":"refs/heads/develop","pushedAt":"2024-05-08T12:44:45.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge pull request #14697 from snipe/bug/sc-25502/disable_delete_if_not_deletable_user\n\nFixed UI where delete button was not disabled even if the user couldn't be deleted","shortMessageHtmlLink":"Merge pull request snipe#14697 from snipe/bug/sc-25502/disable_delete…"}},{"before":"6f40b219869604c69740fa55bb47e9d624e895b1","after":"c8fbf7640c11b00b8c31bd6b1c036a046f203e5e","ref":"refs/heads/master","pushedAt":"2024-05-08T12:43:55.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/develop'\n\nSigned-off-by: snipe \n\n# Conflicts:\n#\tpublic/css/build/app.css\n#\tpublic/css/build/overrides.css\n#\tpublic/css/dist/all.css\n#\tpublic/mix-manifest.json","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/develop'"}},{"before":"b39ef305dcfc6ddeddfb6b56d1012f2b8f36e313","after":"6c13760e9e6d31f88f419a67e237afe832c3a36a","ref":"refs/heads/own_master","pushedAt":"2024-05-08T08:21:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Fixes #14701 - wrong total asset count\n\nThe total asset count in the sidenav shows the ready to deploy count instead of the total count.\nFix this by adjusting the query to all assets. Also respect the setting for archived assets.\nAdd a default value for total assets, since we are now using the settings-variable, which is not available during the setup process.\n\nWhile at it, move the block for total assets before the ready to deploy assets to match the ordering of the sidenav.\n\nSigned-off-by: Tobias Regnery ","shortMessageHtmlLink":"Fixes snipe#14701 - wrong total asset count"}},{"before":null,"after":"b2a5d86e30c54a51d14b6c04658dd9ec09de6338","ref":"refs/heads/fixes/total_asset_count","pushedAt":"2024-05-08T07:42:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Fixes #14701 - wrong total asset count\n\nThe total asset count in the sidenav shows the ready to deploy count instead of the total count.\nFix this by adjusting the query to all assets. Also respect the setting for archived assets.\nAdd a default value for total assets, since we are now using the settings-variable, which is not available during the setup process.\n\nWhile at it, move the block for total assets before the ready to deploy assets to match the ordering of the sidenav.\n\nSigned-off-by: Tobias Regnery ","shortMessageHtmlLink":"Fixes snipe#14701 - wrong total asset count"}},{"before":"ace71e81f01a516cd3f4d578e994845b56edb8bb","after":"b39ef305dcfc6ddeddfb6b56d1012f2b8f36e313","ref":"refs/heads/own_master","pushedAt":"2024-05-07T11:22:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"c964e350aa18ac60932f035e6db35bb9fdf8b594","after":"ace71e81f01a516cd3f4d578e994845b56edb8bb","ref":"refs/heads/own_master","pushedAt":"2024-05-07T10:20:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"95a6c7058fd0880ccee5f5e29b1a1344a5488ccc","after":"3084521521187020eb7f2daa136be569ca196fe0","ref":"refs/heads/develop","pushedAt":"2024-05-07T09:35:27.000Z","pushType":"push","commitsCount":468,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge pull request #14693 from snipe/fixes/14692_view_share_undefined\n\nFixes #14692 - set default variables for sidebar totals","shortMessageHtmlLink":"Merge pull request snipe#14693 from snipe/fixes/14692_view_share_unde…"}},{"before":"7769a93a108f284af65b6f3334e6d16fcb018727","after":"6f40b219869604c69740fa55bb47e9d624e895b1","ref":"refs/heads/master","pushedAt":"2024-05-07T09:32:59.000Z","pushType":"push","commitsCount":529,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/develop'","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/develop'"}},{"before":"15f1deea87655c3e666f9c658617b3ab69534af2","after":"c964e350aa18ac60932f035e6db35bb9fdf8b594","ref":"refs/heads/own_master","pushedAt":"2024-03-06T08:09:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"54552fc95cb222dd8386d4fc0d541f4864c74a0e","after":"95a6c7058fd0880ccee5f5e29b1a1344a5488ccc","ref":"refs/heads/develop","pushedAt":"2024-03-06T08:08:37.000Z","pushType":"push","commitsCount":111,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Bumped version\n\nSigned-off-by: snipe ","shortMessageHtmlLink":"Bumped version"}},{"before":"ffa7d25fc05a7d70787ad80571488bdb6df5f636","after":"7769a93a108f284af65b6f3334e6d16fcb018727","ref":"refs/heads/master","pushedAt":"2024-03-06T08:08:12.000Z","pushType":"push","commitsCount":114,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Bumped version\n\nSigned-off-by: snipe ","shortMessageHtmlLink":"Bumped version"}},{"before":"c45ef9bd318c5507ccac9807fdddb90dba389da3","after":"15f1deea87655c3e666f9c658617b3ab69534af2","ref":"refs/heads/own_master","pushedAt":"2024-02-22T08:35:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"04c1d9cbffb441224d3c573cd950f781486f89f9","after":"54552fc95cb222dd8386d4fc0d541f4864c74a0e","ref":"refs/heads/develop","pushedAt":"2024-02-22T08:35:22.000Z","pushType":"push","commitsCount":26,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge pull request #14192 from inietov/fixes/api_issue_checkin_licenses\n\nFixed #14183 API /hardware/:id/checkin doesn't return Licenses","shortMessageHtmlLink":"Merge pull request snipe#14192 from inietov/fixes/api_issue_checkin_l…"}},{"before":"04c1d9cbffb441224d3c573cd950f781486f89f9","after":"ffa7d25fc05a7d70787ad80571488bdb6df5f636","ref":"refs/heads/master","pushedAt":"2024-02-22T08:35:03.000Z","pushType":"push","commitsCount":24,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge pull request #14308 from snipe/fixes/eager_load_relations_on_locations\n\nEager load relations to determine deletability on locations","shortMessageHtmlLink":"Merge pull request snipe#14308 from snipe/fixes/eager_load_relations_…"}},{"before":"88d6aea5503288f825d2a5b91a01af504135480a","after":"c45ef9bd318c5507ccac9807fdddb90dba389da3","ref":"refs/heads/own_master","pushedAt":"2024-02-20T09:50:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Add ability to map users to multiple companies with FullMultipleCompanySupport\n\nWe have a hierarchical set of companies grouped in multiple layers:\n a) the upper layer must have access to all companies\n b) the lowest layer must be scoped to only one company\n c) the middle layer must have access to multiple companies of the lowest layer, but not all of them\n\na) and b) is possible with FullMultipleCompanySupport and super user, but c) is currently not supported.\n\nTo accomplish this, I propose the concept of \"mapped\" companies.\nUsers with a mapped company can see and update all resources of the mapped company according to the users permissions, just like the \"primary\" company.\n\nA new mapping table is created and linked to users and companies and the company scoping function is updated accordingly.\nThe mapping table only contains additional mappings, not the \"primary\" company of the user.\nIn the user edit view a new tab is created to map users to companies.\n\nThe validation logic must be changed for this. Currently a scoped user can't change the company.\nNow it must be possible for users with mapped companies to choose between companies.\nTo do this, two changes are needed:\n - the company selectlist gets scoped to the primary and the mapped companies\n - a new validator is introduced to validate if the user is allowed to choose a company or if a company is required. This validator handles input through the UI and the API\n\nThe logic if a user is edited must be changed accordingly:\n- If a different \"primary\" company is assigned to a user, the mapping table must be updated.\n- Bulk editing this must also be supported.\n- If a user gets cloned, the mappings must be cloned.\n\nI implemented this feature with performance and backward compatibility in mind. There is no overhead if FullMultipleCompanySupport is disabled.\nThe feature is fully optional, there is only minimal overhead if FullMultipleCompanySupport is enabled and no mappings are used.","shortMessageHtmlLink":"Add ability to map users to multiple companies with FullMultipleCompa…"}},{"before":"88a84e93502fed68e4b881db762e28c4147d59bc","after":"04c1d9cbffb441224d3c573cd950f781486f89f9","ref":"refs/heads/develop","pushedAt":"2024-02-20T09:50:24.000Z","pushType":"push","commitsCount":102,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge pull request #14302 from uberbrady/fix_uploaded_file_extensions\n\nClean up the file extension on image file uploads","shortMessageHtmlLink":"Merge pull request snipe#14302 from uberbrady/fix_uploaded_file_exten…"}},{"before":"e5355db672962fa3f60519a115ae09db1fcde0f9","after":"04c1d9cbffb441224d3c573cd950f781486f89f9","ref":"refs/heads/master","pushedAt":"2024-02-20T09:30:27.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge pull request #14302 from uberbrady/fix_uploaded_file_extensions\n\nClean up the file extension on image file uploads","shortMessageHtmlLink":"Merge pull request snipe#14302 from uberbrady/fix_uploaded_file_exten…"}},{"before":"50c910461a1e665d494c4b00dc3010414679c403","after":"e5355db672962fa3f60519a115ae09db1fcde0f9","ref":"refs/heads/master","pushedAt":"2024-02-16T08:34:43.000Z","pushType":"push","commitsCount":40,"pusher":{"login":"Toreg87","name":null,"path":"/Toreg87","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/84392209?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/develop'","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/develop'"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xNVQwMzo1MDo1NC4wMDAwMDBazwAAAAR_SnzI","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xNVQwMzo1MDo1NC4wMDAwMDBazwAAAAR_SnzI","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0xNlQwODozNDo0My4wMDAwMDBazwAAAAP8Wy7i"}},"title":"Activity · Toreg87/snipe-it"}