v2.15.0
Changes
This version aimed to allow direct association of users to companies via persons.
This will provide a good structure for creating users that will belong to different organisations (clients for instance)
and the related restrictions when accessing application's resources.
The old contacts structure is deprecated. The associated people are now called company people
.
An upgrade command is provided that takes care of all the database structural updates and transforms the old
contacts / mandataries to company people.
Addresses, Comments, Discussions, Documents
- refactors the count update tracking
Companies
- removes deprecated command
- removes the deprecated contact request validation (including customization)
- removes
mandatary_position
from the table / form - reorganizes the company form
- restricts the
mandatary
to the list of associated people - creates the
adminstration.companies.people
structure - limits the company selection when using the
CompanySelectController
for users that do not belong toAdminGroup
- reuses the
PersonSelectController
for company people - updates the
people()
relation inCompany.php
- removes the deprecated
contactFormTemplate
fromcompanies.php
config file - updates the
CompanyFactory
- removes the deprecated
ContactFactory
- replaces the deprecated
/resources/js/components/enso/contacts/
components with/resources/js/components/enso/companies/
- updates the implementation of
accessories
in theEdit.vue
page - updates the routes
- replaces
ContactTest
withCompanyPeopleTest
Core
- updates the
Upgrade
command to take care of 3.3.* => ^3.4 upgrades - refactors the role change authorization in
UserController
- adds the
AdminGroupId
constant to theUserGroup
model - adds the
belongsToAdminGroup()
helper to theUser
model - refines the user delete error messages
- updates the
UserSeeder
- fixes a bug when having more than 2 level nested menus
Discussions
- fixes discussion delete
DataImport
- fixes cell sanitization
- fixes header normalization
- fixes tests
FormBuilder
- adds selected tab name to
_params
on submit - fixes modal visibility in an edge case
People
- adds
PersonPolicy
- adds
appellative
&position
toPersonSelectControllers
's query attributes - drops the
gender
column and adds agender()
helper that determines the gender by thetitle
value; Adds aisMandatary()
helper - adds a
company()
relation to thePerson
model - makes the form tabbed; adds
company_id
andposition
to the table / form - updates the
PersonFactory
- updates the implementation of
accessories
in theEdit.vue
page - updates the tests
Select
- fetches the option list when clicking on the
No options
label - adds
cursor:pointer
to the.select-value
class - makes the request object (optional) available for the select controllers
StructureManager
- updates the stubs for select controllers and form pages
TrackWho
- adds return type to relations. This will help when requesting the relations in contracts
VueComponents
- refactors
accessories
; now it can use any kind of accessory - updates
tabs
to emit theselected
event when mounted
Upgrade instructions - estimated time per project ~ 5min
- update in
composer.json
: "laravel-enso/core": "3.5.*" - run
composer update
- run
php artisan migrate
- run
php artisan enso:upgrade
- update
CompanyFactory
andPersonFactory
andUserSeeder
with the ones from the packages - remove
ContactFactory
- remove
/resources/js/components/enso/contacts/
Note:
If you customized the company / person form / table / pages you will have to manually update them accordingly...