Skip to content

Store-manager customer management + per-store customer identity#717

Open
KrzysztofPajak wants to merge 24 commits into
developfrom
feature/store-customer-management
Open

Store-manager customer management + per-store customer identity#717
KrzysztofPajak wants to merge 24 commits into
developfrom
feature/store-customer-management

Require customer StoreId only for non-admin editors

40588c3
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Jun 23, 2026 in 1m 57s

Quality Gate failed

Annotations

Check warning on line 477 in src/Web/Grand.Web.Store/Controllers/CustomerController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of using this literal 'No customer found with the specified id' 6 times.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRY6EJ9mH8oEu91&open=AZ7RTjRY6EJ9mH8oEu91&pullRequest=717

Check warning on line 305 in src/Web/Grand.Web.Store/Areas/Store/Views/Customer/Partials/CreateOrUpdate.TabInfo.cshtml

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A form label must be associated with a control and have accessible text.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRL6EJ9mH8oEu9r&open=AZ7RTjRL6EJ9mH8oEu9r&pullRequest=717

Check warning on line 21 in src/Web/Grand.Web/Validators/Customer/PasswordRecoveryConfirmValidator.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Constructor has 8 new parameters, which is greater than the 7 authorized.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjSl6EJ9mH8oEu99&open=AZ7RTjSl6EJ9mH8oEu99&pullRequest=717

Check warning on line 371 in src/Web/Grand.Web.Store/Areas/Store/Views/Customer/Partials/CreateOrUpdate.TabInfo.cshtml

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A form label must be associated with a control and have accessible text.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRL6EJ9mH8oEu9v&open=AZ7RTjRL6EJ9mH8oEu9v&pullRequest=717

Check warning on line 189 in src/Tests/Grand.Web.Store.Tests/Controllers/CustomerControllerTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer 'static readonly' fields over constant array arguments if the called method is called repeatedly and is not mutating the passed array

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjWs6EJ9mH8oEu-E&open=AZ7RTjWs6EJ9mH8oEu-E&pullRequest=717

Check warning on line 377 in src/Web/Grand.Web.Store/Areas/Store/Views/Customer/Partials/CreateOrUpdate.TabInfo.cshtml

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A form label must be associated with a control and have accessible text.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRL6EJ9mH8oEu9w&open=AZ7RTjRL6EJ9mH8oEu9w&pullRequest=717

Check warning on line 67 in src/Tests/Grand.Module.Api.Tests/Validators/Common/LoginWebValidatorTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Consider using the overload that accepts a CancellationToken and pass 'TestContext.CancellationToken'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7w5QCFwLcO2I1NZmUp&open=AZ7w5QCFwLcO2I1NZmUp&pullRequest=717

Check warning on line 295 in src/Web/Grand.Web.Store/Areas/Store/Views/Customer/Partials/CreateOrUpdate.TabInfo.cshtml

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A form label must be associated with a control and have accessible text.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRL6EJ9mH8oEu9q&open=AZ7RTjRL6EJ9mH8oEu9q&pullRequest=717

Check warning on line 77 in src/Tests/Grand.Web.Admin.Tests/Validators/CustomerValidatorTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'Assert.DoesNotContain' instead of 'Assert.IsFalse'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ716NLg-rx95M4ui3FZ&open=AZ716NLg-rx95M4ui3FZ&pullRequest=717

Check warning on line 329 in src/Web/Grand.Web.Store/Areas/Store/Views/Customer/Partials/CreateOrUpdate.TabInfo.cshtml

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A form label must be associated with a control and have accessible text.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRL6EJ9mH8oEu9t&open=AZ7RTjRL6EJ9mH8oEu9t&pullRequest=717

Check warning on line 243 in src/Business/Grand.Business.Customers/Services/CustomerService.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this commented out code.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ716NIc-rx95M4ui3FX&open=AZ716NIc-rx95M4ui3FX&pullRequest=717

Check warning on line 401 in src/Web/Grand.Web.Store/Areas/Store/Views/Customer/Partials/CreateOrUpdate.TabInfo.cshtml

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A form label must be associated with a control and have accessible text.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRL6EJ9mH8oEu9z&open=AZ7RTjRL6EJ9mH8oEu9z&pullRequest=717

Check warning on line 151 in src/Tests/Grand.Web.Tests/Validators/Customer/CustomerValidatorsStoreScopingTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Consider using the overload that accepts a CancellationToken and pass 'TestContext.CancellationToken'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7w5QEWwLcO2I1NZmUw&open=AZ7w5QEWwLcO2I1NZmUw&pullRequest=717

Check warning on line 150 in src/Tests/Grand.Web.Store.Tests/Controllers/CustomerControllerTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Prefer the generic overload 'Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsInstanceOfType<T>(object?, string?, string)' instead of 'Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsInstanceOfType(object?, System.Type?, string?, string)'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjWr6EJ9mH8oEu-C&open=AZ7RTjWr6EJ9mH8oEu-C&pullRequest=717

Check warning on line 96 in src/Tests/Grand.Web.Tests/Validators/Customer/CustomerValidatorsStoreScopingTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Consider using the overload that accepts a CancellationToken and pass 'TestContext.CancellationToken'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7w5QEWwLcO2I1NZmUy&open=AZ7w5QEWwLcO2I1NZmUy&pullRequest=717

Check warning on line 23 in src/Web/Grand.Web/Validators/Customer/PasswordRecoveryValidator.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Constructor has 8 new parameters, which is greater than the 7 authorized.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjS66EJ9mH8oEu9-&open=AZ7RTjS66EJ9mH8oEu9-&pullRequest=717

Check warning on line 61 in src/Web/Grand.Web.Store/Controllers/CustomerController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Constructor has 16 parameters, which is greater than the 7 authorized.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRY6EJ9mH8oEu92&open=AZ7RTjRY6EJ9mH8oEu92&pullRequest=717

Check warning on line 167 in src/Tests/Grand.Web.Tests/Validators/Customer/CustomerValidatorsStoreScopingTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Consider using the overload that accepts a CancellationToken and pass 'TestContext.CancellationToken'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7w5QEWwLcO2I1NZmUx&open=AZ7w5QEWwLcO2I1NZmUx&pullRequest=717

Check warning on line 392 in src/Web/Grand.Web.Store/Areas/Store/Views/Customer/Partials/CreateOrUpdate.TabInfo.cshtml

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

A form label must be associated with a control and have accessible text.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRL6EJ9mH8oEu9y&open=AZ7RTjRL6EJ9mH8oEu9y&pullRequest=717

Check failure on line 156 in src/Web/Grand.Web.Store/Controllers/CustomerController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 19 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRY6EJ9mH8oEu93&open=AZ7RTjRY6EJ9mH8oEu93&pullRequest=717

Check warning on line 55 in src/Tests/Grand.Module.Api.Tests/Validators/Common/LoginWebValidatorTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'Assert.Contains' instead of 'Assert.IsTrue'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7w5QCFwLcO2I1NZmUo&open=AZ7w5QCFwLcO2I1NZmUo&pullRequest=717

Check warning on line 793 in src/Web/Grand.Web.Store/Controllers/CustomerController.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

All 'ProductAddPopup' method overloads should be adjacent.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjRY6EJ9mH8oEu90&open=AZ7RTjRY6EJ9mH8oEu90&pullRequest=717

Check warning on line 158 in src/Web/Grand.Web/Validators/Customer/RegisterValidator.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Merge this if statement with the enclosing one.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjSZ6EJ9mH8oEu97&open=AZ7RTjSZ6EJ9mH8oEu97&pullRequest=717

Check warning on line 129 in src/Tests/Grand.Web.Tests/Validators/Customer/CustomerValidatorsStoreScopingTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Consider using the overload that accepts a CancellationToken and pass 'TestContext.CancellationToken'

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7w5QEWwLcO2I1NZmUv&open=AZ7w5QEWwLcO2I1NZmUv&pullRequest=717

Check warning on line 235 in src/Tests/Grand.Business.Customers.Tests/Services/CustomerServiceTests.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

'DataTestMethod' is obsolete. Use 'TestMethod' instead.

See more on https://sonarcloud.io/project/issues?id=grandnode_grandnode2&issues=AZ7RTjWk6EJ9mH8oEu-B&open=AZ7RTjWk6EJ9mH8oEu-B&pullRequest=717