* Added checks on taxonomyId validity (it needs to be > 0) before executing queries that would return no result.
* Added id check on GetTaxonomy(int id) functions.
* Added id check on GetTerm(int id)
* Removed id check on GetTaxonomy(int) function to avoid changing previous behaviour.
* Returned "Array.Empty" instead of "new List" where an empty list must be returned.
* Added statuses management instead of notifier when catching file not found exception
# Conflicts:
# src/Orchard.Web/Modules/Orchard.MediaLibrary/Controllers/ClientStorageController.cs
* Visual studio automatic code formatting.
* Added permissions allowing management of users belonging to specific roles only
* Added condition to manage superuser
* Fixed the case where an user with no special ManageUserByRole Permission would
end up being able to manage a user with no role, because of the behavior of
Enumerable.All on empty collections.
* Added password history management to back office user password edit and made it working via IUserEventHandler calls.
* Added "password" parameter to "ChangedPassword" call.
* Started adding roles that will be used to to allow users the ability to assign
specific roles to others.
* small refactor of the method to return dynamic AssignRole permissions
* Implemented permissions to limit the ability of a user to assign specific
roles
* controller action to assign roles
* Refactored Assign action in roles admin Controller
Fixed a bug in figuring out the id of roles to assign
Added provider to add action links to list of users in BO
Added "cancel" button to page to assign roles, based on returnUrl
* Upgraded NHibernate to version 5.3.10. Solution builds with no warnings.
* fixed most issues
* Added source code for NHibernate.Linq library from
http://sourceforge.net/projects/nhcontrib/files/NHibernate.Linq/1.0/NHibernate.Linq-1.0.0.GA-src.zip
With the modified DetachedCriteriaAdapter.cs for Orchard.
Started upgrading that library to NHibernate 5.3.10.
* Finished updating NHibernate.Linq to work with NHibernate 5.3.10.
* Removed NHibernate.Linq from lib folder
* Updated code generation templates to use the correct version of nhibernate
One is a restoration of the former constructor with 6 parameters.
The other is a 3 parameters constructor using common defaults for the other
properties.
* Adds the capability to set a user to forcely change its own password at next LogOn
* Force user to not reuse last n passwords
* Moves IPasswordService implementation to Orchard Users
Creates Extensions to share management of Password operations across Services
* Some refactoring
* Password History Policy:
- New User Evente (ChangingPassword)
- Settings to enable the policy
- Security service interfaces to abstract history management
- User service implementations to concretely manage history
* PasswordHistoryPolicy:
- keep in count the password stored within the UserPart as a not reusable password
* WIP automated suspension of inactive users
* Disable users that have been inactive for longer than a specified number of
days, except when they are SiteOwner, or they have a specific flag set to
prevent their suspension.
* Provider to prevent suspension of users based on assigned roles
* cleanup. Refactor of migrations.
* Added action to ask for the challenge email to be resent.
Challenge email is sent again if a user tries to register anew with an email
address they had used to create an account earlier if the email address isn't
validated yet.
* During registration, if a user inserts the information of an existing account
and that account should still validate its email address, the user is presented
a link to request a new challenge email to be sent.
* Added a link to the action to request a new challenge email in the case when
the nonce fails to validate.
* Renamed part and corresponding record.
Added ability to "protect" specific users from having to change password when
it is expired / too old.
Co-authored-by: HermesSbicego-Laser <hermes.sbicego@laser-group.com>
* Added a service to abstract some account validation away from the AccountController, so it's easier to upgrade it and use the same validation elsewhere.
* Added a validation context to carry information used for validation of account
information.
* Refactored password validation in the AccountController
* Updated tests
* fixed value read from context.ValidationSuccessful
* Added tokenizable default value to ContentPickerFields (#8351)
* Fixes errors during Indexing (#8349)
* Added admin search permissions (#8346)
* Reuse Settings_ShellDescriptorRecord during an http request (#8355)
* Added a new index to CommonPartRecord (#8362)
* Attempted AutoroutePart improvement (#8360)
This should ease Database issues, because it short circuits some code paths
through aliases.
* Save MemberBindingRecords in memory (#8371)
Prevent fetching the same table from the database 5+ times per request by
loading it and saving it in a private property for a request.
* Cache list of configured layers (#8373)
On every page load on frontend we were querying for all existing layers to test
for the ones that are currently active. Since that information is not bound to
change often, we added a cache layer to prevent querying every time. The cache
is evicted whenever a Layer gets updated.
* Memorize query results in blog service (#8374)
The query for all published blogs is being called twice while building the admin menu,
so we are memorizing its results.
* Updated UI for projections (#8380)
Some textboxes were too small for the actual text users would generally write in them.
Those meant to hold HTML have been converted to textareas.
* Process ignored paths while being aware of RequestUrlPrefix (#8384)
* Process ignored paths while being aware of RequestUrlPrefix
* Fix: I had moved a Trim to the wrong place
* Fixed issue with empty/uninitialized null set of ignored urls
* tokens sort criteria (#8382)
* Tokenized state for sort criteria
* Tokenized state also in the other place where sort criteria are used
* Remove lock from the dictionary when the task has completed. (#8395)
Fixes#8391
* Update DistributedLockService.cs (#8398)
* fix for CPF when other scripts are also adding to sessionStorage (#8404)
* Fixes Boolean Conversion error (#8393)
* Fix/8392 remeber me model state exception (#8410)
@sebastienros this fixes the possible NRE that would happen for absent models from merged #8393
(see your comment there https://github.com/OrchardCMS/Orchard/pull/8393#issuecomment-686630198)
* Removed changes to model bindings (#8412)
This is the same as reverting 1.10.x to commit 868ce12ad6
* New version of Boolean Binder Provider (#8413)
* New version of Boolean Binder Provider
* Use Convert.ToBoolean(string) rather than ValueProviderResult.ConvertTo(bool)
* Upgrade host resolution (#8387)
* Reverted changes to RunningShellTable and then changed the way shells are sorted,
so we can correctly give "priority" to tenants based on their prefix.
Added test adapter reference to Orchard.Framework.Tests so tests can be run in
the latest VS 2017.
Fixed a test that was failing to account for the order the shells were being
processed.
* Removed some stuff from csproj that vs had added
* Handle the case where a form sends more than one attempted value for a boolean (#8416)
* fix record mapping nhibernate (#8415)
* Allow downstream methods to set default value (#8419)
Moreover, this won't try to set a default value to the bool when it's not sent.
This will allow calls with missing required parameters to fail as they should.
* Fixed Media Library Picker Style (#8433)
* Removed check preventing reassignment of loader delegates (#8436)
* Added an event activity for workflows that activates on the first Upd… (#8438)
* target framework 4.8 to all projects (#8444)
* Feature/8445 libraries update (#8446)
* Fixed conflict with style for layouts (#8456)
the .overlay is used for different things in MediaLibraryPickerField and Layouts, and as it was the styles would conflict. This should fix it.
* Feature/upgradable libraries (#8457)
* Updated Migration for CommonPartRecord and IdentityPartRecord (#8459)
This orders the operations differently than what is in dev for retrocompatibility in both environments.
* Prevents throwing exception when Href is null (#8461)
* added culture in widgets page (#8466)
* added culture in widgets page
Co-authored-by: elena.lampugnani <elena.lampugnani@laser-group.com>
Co-authored-by: Hermes Sbicego <hermes.sbicego@laser-group.com>
* Show disable action for deprecated features even if they are categorized as "Core" (#8468)
* Upgrades YamlDotNet from 9.1.3 to 11.1.1 because 9.1.3 is not more available as nuget package (#8472)
* Bypass cache for XSRF Tokens (#8470)
Fixes#8469
* flag exclude children for taxonomies (#8481)
* Remove cache by tag on Unpublished (#8483)
As it was, cached lists/projections would not be evicted when a ContentItem they contained was unpublished.
* Cloning doesn't overwrite identity (#8487)
Fixes#8486
* Update nhibernate (#8488)
* Update nHibernate to version 4.1.2.4000
# Conflicts:
# src/Orchard.Web/Modules/Orchard.ContentPicker/packages.config
# src/Orchard.Web/Modules/Orchard.ImportExport/packages.config
# src/Orchard.Web/Modules/Orchard.MessageBus/packages.config
# src/Orchard.Web/Modules/Orchard.MultiTenancy/packages.config
# src/Orchard.Web/Modules/Orchard.Projections/packages.config
# src/Orchard.Web/Modules/Orchard.Tags/packages.config
# src/Orchard.Web/Modules/Upgrade/packages.config
# src/Orchard.Web/Web.config
* Update AssemblyBindings for NHibernate
* Fixes disposed LifetimeScope issue (#8490)
* fixed scope in in recomputing the context to figure out whether an antiforgery token needs replacing
* Revert "Cloning doesn't overwrite identity (#8487)" (#8495)
This reverts commit af42947c9c.
* Remove whitespace when importing list of permissions (#8499)
Similarly to what's already being done when we import features.
this allows to go to a new line in the xml that we import, and even tabulate for readability and maintenance.
* Force enumeration of list of permissions.
Without this, imported permissions (#8492) would always replace existing ones: i.e. if an existing permission is not in
the list being imported it would be removed for the role.
* Projection default settings (#8497)
* added settings in projection part
* read settings into driver
* commit files setting
* add logic of filter query
* added logic of filter query setting
* managed import/export
* fixed migration
* added message information
Co-authored-by: elena.lampugnani <elena.lampugnani@laser-group.com>
* HtmlDecode token (#8501)
Added HtmlDecode token management.
Needed for #8500
* Sets SSL redirection as permanent for SEO reasons (#8503)
Fixes#8502
* Added null checks (#8511)
The added null checks manage properly importing definitions that do not contain the properties.
* Fix/editmenulink (#8515)
* Removed useless spaces
* Corrections on ProjectionPart query link (it didn't update the link when changing the selected query).
Added edit link for menu in MenuWidget.
* Added menuId parameter to menu edit link
* Fixed various typos: (#8512)
* Added descriptor to audit trail context (#8517)
Co-authored-by: Hermes Sbicego <hermes.sbicego@laser-group.com>
Co-authored-by: Imran Azad <imranazad@users.noreply.github.com>
Co-authored-by: LorenzoFrediani-Laser <lorenzo.frediani@laser-group.com>
Co-authored-by: ElenaRepository <50620495+ElenaRepository@users.noreply.github.com>
Co-authored-by: Andrea Piovanelli <83577153+AndreaPiovanelliLaser@users.noreply.github.com>
When the text we are localizing is null (which potentially happens when localizing dynamic content), it could result in a null parent translation, which would throw when used as "basis" for comparisons.
* NolockInterceptor handles subqueries now
The parser as it was ignored subqueries completely. Now it treats them as queries
and places them back in their parent queries.
* Caching the ShellDescriptor
This avoids fetching all connected records on every request.
refreshed cache after an update
This is after having evicted it and having updated the database
Now it should only fetch the id, which is what we need, rather than the
whole record, so it should be able to correctly take advantage of the indexes
Try to not fetch terms back from the database right as we do an update, by
using what is in the view model we just updated
* Performance on LocalizationPart
Prevent driver from repeating the same query several times in a request (it used
to try and fetch all of a part's localizations at least twice per request).
Changed query for a MasterContentItem's localizations so it should "hint" sql to
use different indexes.