Activities of "kaustubh.kale@ness.com"

Enviorment.ts

export const environment = { production: false, application: { name: 'Litmus' }, oAuthConfig: { issuer: 'https://localhost:44350', clientId: 'Litmus_App', dummyClientSecret: '1q2w3e*', scope: 'Litmus ProfileManagement InvoiceManagement FinanceManagement', showDebugInformation: true, oidc: false, requireHttps: true }, apis: { default: { url: 'https://localhost:44359' }, profileManagement: { url : 'https://localhost:44398/profile' }, invoiceManagement: { url : 'https://localhost:44324/invoice' } }, localization: { defaultResourceName: 'Litmus' } };

Localstorage:

Hi Mehmat

We are not getting claims in localstorage as per you shown above,Their is any other way avialble to get claims in angular application.

If you want any other information then let me know.

ABP Framework version: v4.2.2 UI type: Angular DB provider: EF Core Tiered (MVC) or Identity Server Seperated (Angular): no / yes Exception message and stack trace: Steps to reproduce the issue:

1 . After adding claims for specific user though administration 2. when same user login succesfully then in config-application where we get all details about user like userid,tenatid,in that not geeting claims data.

In Angular application how to get claims data for specific user ?

ABP Framework version: v4.2.2 UI type: Angular DB provider: EF Core Tiered (MVC) or Identity Server Seperated (Angular): no / yes Exception message and stack trace: Steps to reproduce the issue:

We have one role anchor admin that user can switch 2 different roles .for achieving this functinality we use ABP patchroute but we when we trying on only on route level using user specific permission it is not working for us.

ABP routes takes entries from policies where we are sending granted entries in grantedpolicies.

How to achive userlevel permission in routing for above scenarion.

PAtch route code:


 patchRoute() {
    const currentmodule = JSON.parse(localStorage.getItem("financeModule"));
    console.log(currentmodule, 'currentmodule')

    const newHomeRouteShowConfig: Partial<ABP.Route> = {
      invisible: false,
      requiredPolicy: 'Litmus.Tenant.AnchorAdmin || Litmus.Tenant.SellerAdmin'
    };

    const newHomeRouteHideConfig: Partial<ABP.Route> = {
      invisible: true,
      requiredPolicy: 'Litmus.Tenant.AnchorAdmin || Litmus.Tenant.SellerAdmin'
    };

    const newInvoiceRouteShowConfig: Partial<ABP.Route> = {
      invisible: false,
      requiredPolicy: 'Litmus.Tenant.SupplierAdmin  || Litmus.Tenant.SellerAdmin || Litmus.Tenant.AnchorAdmin'
    };

    const newInvoiceRouteHideConfig: Partial<ABP.Route> = {
      invisible: true,
      requiredPolicy: 'Litmus.Tenant.SupplierAdmin  || Litmus.Tenant.SellerAdmin || Litmus.Tenant.AnchorAdmin'
    };

    if ((currentmodule === null) || (currentmodule === false)) {

      this.routes.patch('Suppliers', newHomeRouteShowConfig);
      this.routes.patch('Entities', newHomeRouteShowConfig);
      this.routes.patch('Banks', newHomeRouteShowConfig);
      //this.routes.patch('Program', newHomeRouteHideConfig);
      this.routes.patch('Invoices', newInvoiceRouteHideConfig);
      this.routes.patch('Settlement', newHomeRouteHideConfig);
    } else {

      this.routes.patch('Suppliers', newHomeRouteHideConfig);
      this.routes.patch('Entities', newHomeRouteHideConfig);
      this.routes.patch('Banks', newHomeRouteHideConfig);
      //this.routes.patch('Program', newHomeRouteShowConfig);
      this.routes.patch('Invoices', newInvoiceRouteShowConfig);
      this.routes.patch('Settlement', newHomeRouteShowConfig);
    }

  }

Route Code: 
  {
    path: 'invoices',
    component: ApplicationLayoutComponent,
    loadChildren: () => import('./manage-invoice/manage-invoice.module').then((m) => m.ManageInvoiceModule),
    canActivate: [AuthGuard, PermissionGuard, InvoiceGuard],
    data: {
      routes: {
        name: 'Invoices',
        iconClass: 'fa fa-line-chart',
        requiredPolicy: 'Litmus.Tenant.SupplierAdmin  || Litmus.Tenant.SellerAdmin',

      } as ABP.Route,
    },
  },



Hi @bunyamin

We did the above mentioned changes in our code so we are getting 415 unsupported media type error in our request call.

Only differance is our method call is POST.

Question

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

ABP Framework version: v4.2.2 UI type: Angular DB provider: EF Core Tiered (MVC) or Identity Server Seperated (Angular): no / yes Exception message and stack trace: Steps to reproduce the issue:

We log in 2 system with Kaustubh.kale.ness.com using this ID but now in 1st system is giving below error when we trying to run our microservices

License Error! Given user 'kaustubh.kale@ness.com' has reached the maximum allowed developer computer count (2) for the organization 'Standard Chartered'! Can not use the license in a new computer. Contact to license@abp.io if you think that this is an error. 2021-03-22 20:52:35.872 +05:30 [ERR] ABP-LIC-0008 - License check failed for 'Volo.Saas.EntityFrameworkCore-v3.0.4.0'.

KIndly provide solution on above error as quick as poosible.

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

ABP Framework version: v4.2.2 UI type: Angular DB provider: EF Core Tiered (MVC) or Identity Server Seperated (Angular): no / yes Exception message and stack trace: Steps to reproduce the issue:

Using Permissionservice and Statesession service we resolved some of the issue but we are facing some challenges in below issue . How to implement those changes in custom component.

1)

this.authService.login(this.form.get('username').value, this.form.get('password').value)
      .pipe(
        catchError((err) => {
          this._snackBar
            .open(err.error.error_description, 'Close', {
              panelClass: 'snackbar_login',
              duration: 6000,
            })
            .afterOpened()
            .subscribe(() => {
              const elementall = document.getElementsByClassName('snackbar_login');
              const elem0 = elementall[0] as HTMLInputElement;
              const elem1 = elementall[0].parentElement;
              elem1.style.cssText = 'width:96% !important';
              elem0.style.cssText = 'display:inline-block !important';
            });
          this.inProgress = false;
          return err;
        }),
        finalize(() => (this.inProgress = false))
      )
      .subscribe(() => {
        this.store.dispatch(new SetRemember(this.form.get('remember').value));
        localStorage.setItem('thresholdLimitChecked', 'false');
      });
  }
}

for login method is giving error.

2)

this.store.dispatch(new SetRemember(this.form.get('remember').value));

for setRemember is giving error.

3)

  // this.store.dispatch(
    //   new AddReplaceableComponent({ component: AccountComponent, key: eAccountComponents.Account }),
    // ); -- previous code
    this.replaceableComponents.add({
      component: AccountComponent,
      key: eAccountComponents.Account,
    });  --new code

for the new code for key is giving error

Kindly let us know how to implement fixes.

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

ABP Framework version: v3.0.4 UI type: Angular DB provider: EF Core Tiered (MVC) or Identity Server Seperated (Angular): no / yes Exception message and stack trace: Steps to reproduce the issue:

Issue: when we are calling api from angular side we are not able to get filename of that blob file. How to get filename with filetype in angular side when we call api. below are angular and .net code for file download implementation.

download file api code:

Angular api call implementation :

selectedInvoicesToExcelDownloadByInput(body: any): Observable<any> { let url = ${this.apiUrl.url}/api/InvoiceManagement/AR/invoice/selectedInvoicesToExcelDownload return this.http.post(url, body, { responseType: 'blob' ,observe: 'response' }) }

.net api code

[HttpPost]
    [Route("disputedInvoicesToExcelDownload")]
    public async Task&lt;IActionResult&gt; DisputedInvoicesToExcelDownload(ARDisputedInvoicesUploadDto input)
    {
        var fileDto = await _invoiceAppService.DisputedInvoicesToExcelAsync(input);
        return File(fileDto.Content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", fileDto.Name);
    }

Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples, to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to your question may have been answered before, please use the search on the homepage.

ABP Framework version: v3.0.4 UI type: Angular DB provider: EF Core Tiered (MVC) or Identity Server Seperated (Angular): no / yes Exception message and stack trace: Steps to reproduce the issue:

URL= 'http://localhost:4200/downloadexcel?requestId=62114d2c-8feb-4a60-8319-22bf7ec6da4d
d1be844b-d3a2-031a-f036-39f5d4380239'

downloadexcel -- angular module/component requestId --- parameter

Method 1:

{
    path: 'downloadexcel',
    component: ApplicationLayoutComponent,
    loadChildren: () => import('./downloadexcel/downloadexcel.module').then(m => m.DownloadexcelModule),
    canActivate: [AuthGuard, PermissionGuard],
     data: {
       routes: {
        name: '',
        iconClass: 'fa fa-line-chart',
        requiredPolicy: 'Litmus.Tenant.AnchorAdmin || Litmus.Tenant.SellerAdmin',
       order:1,
      } as ABP.Route,
     },
  },

-- In this case when user is authenticated it is working but if user is not authenticated then it go for authentication and after authentication gives below error:

core.js:4197 ERROR Error: Cannot match any routes. URL Segment: 'downloadexcel%3FrequestId%3D62114d2c-8feb-4a60-8319-22bf7ec6da4d'
    at ApplyRedirects.noMatchError (router.js:2270)
    at CatchSubscriber.selector (router.js:2254)
    at CatchSubscriber.error (catchError.js:29)
    at MapSubscriber._error (Subscriber.js:75)
    at MapSubscriber.error (Subscriber.js:55)
    at MapSubscriber._error (Subscriber.js:75)
    at MapSubscriber.error (Subscriber.js:55)
    at MapSubscriber._error (Subscriber.js:75)
    at MapSubscriber.error (Subscriber.js:55)
    at ThrowIfEmptySubscriber._error (Subscriber.js:75)

Method 2: URL== http://localhost:4200/downloadexcel/62114d2c-8feb-4a60-8319-22bf7ec6da4d

{
    path: 'downloadexcel/:requestId',
    component: ApplicationLayoutComponent,
    loadChildren: () => import('./downloadexcel/downloadexcel.module').then(m => m.DownloadexcelModule),
    canActivate: [AuthGuard, PermissionGuard],
     data: {
       routes: {
        name: '',
        iconClass: 'fa fa-line-chart',
        requiredPolicy: 'Litmus.Tenant.AnchorAdmin || Litmus.Tenant.SellerAdmin',
       order:1,
      } as ABP.Route,
     },
  },

In this case gives below error for if user is authenticated and not authenticated in both case gives below error :

core.js:4197 ERROR Error: Uncaught (in promise): RangeError: Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
    at RoutesService.find (abp-ng.core.js:777)
    at findRoute (abp-ng.core.js:969)
    at findRoute (abp-ng.core.js:972)
    at findRoute (abp-ng.core.js:972)
    at findRoute (abp-ng.core.js:972)
    at findRoute (abp-ng.core.js:972)
    at findRoute (abp-ng.core.js:972)
    at findRoute (abp-ng.core.js:972)
    at findRoute (abp-ng.core.js:972)
    at findRoute (abp-ng.core.js:972)
    at resolvePromise (zone-evergreen.js:798)
    at resolvePromise (zone-evergreen.js:750)
    at zone-evergreen.js:860
    at ZoneDelegate.invokeTask (zone-evergreen.js:399)
    at Object.onInvokeTask (core.js:27424)
    at ZoneDelegate.invokeTask (zone-evergreen.js:398)
    at Zone.runTask (zone-evergreen.js:167)
    at drainMicroTaskQueue (zone-evergreen.js:569)
Showing 31 to 39 of 39 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11