Open Closed

Cannot generate angular CRUD pages using abp suite and cli #3424


User avatar
0
afatima@asb.bh created
  • ABP Framework version: v5.3.2
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): no
  • Steps to reproduce the issue:

I am trying to generate an entity within a module using the abp suite. It generates the backend files but does not generate any angular pages for the entity.


6 Answer(s)
  • User Avatar
    0
    afatima@asb.bh created

    I would like to follow up on the above issue. I am creating a project SchoolAutomater which has three modules - PurchaseOrder, StaffManagement and StoreManagement. Kindly find the solution structure below. I am trying add an entity using ABP Suite in the Purchase Order Module but the angular files do not get generated.

  • User Avatar
    0
    muhammedaltug created

    Hello,

    I was able to reproduce the issue when I created a project in version 5.2 and generated entities and updated the project version to 5.3 We fixed the issue. The fix will available in the next 5.3 version. Is the same situation for your project?

    Can you try to regenerate after removing 'angular/.suite' folder?

    Is there any error in your terminal? Can you send suite logs to understand your case?

    Suite logs placed under Windows: %UserProfile%\.abp\suite\logs Mac: ~/.abp/suite/logs

  • User Avatar
    0
    afatima@asb.bh created

    Hello,

    There are no errors in the terminal. I have removed angular/.suite folder and tried as well but it is still not generated.

    Please find the logs below:

    2022-07-14 18:45:09.667 +03:00 [INF] Request starting HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-built application/json - 2022-07-14 18:45:09.672 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionBuiltAsync (Volo.Abp.Suite)' 2022-07-14 18:45:09.673 +03:00 [INF] Route matched with {action = "IsSolutionBuilt", controller = "AbpSuite", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[System.Boolean] IsSolutionBuiltAsync(System.Guid) on controller Volo.Abp.Suite.Controllers.AbpSuiteController (Volo.Abp.Suite). 2022-07-14 18:45:09.847 +03:00 [INF] Executing ObjectResult, writing value of type 'System.Boolean'. 2022-07-14 18:45:09.847 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionBuiltAsync (Volo.Abp.Suite) in 174.2324ms 2022-07-14 18:45:09.847 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionBuiltAsync (Volo.Abp.Suite)' 2022-07-14 18:45:09.847 +03:00 [INF] Request finished HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-built application/json - - 200 - application/json;+charset=utf-8 181.8940ms 2022-07-14 18:45:09.858 +03:00 [INF] Request starting HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-running application/json - 2022-07-14 18:45:09.858 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionRunningAsync (Volo.Abp.Suite)' 2022-07-14 18:45:09.858 +03:00 [INF] Route matched with {action = "IsSolutionRunning", controller = "AbpSuite", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[System.Boolean] IsSolutionRunningAsync(System.Guid) on controller Volo.Abp.Suite.Controllers.AbpSuiteController (Volo.Abp.Suite). 2022-07-14 18:45:09.862 +03:00 [DBG] Checking if the solution is running and in-use... 2022-07-14 18:45:09.866 +03:00 [INF] Executing ObjectResult, writing value of type 'System.Boolean'. 2022-07-14 18:45:09.866 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionRunningAsync (Volo.Abp.Suite) in 8.0659ms 2022-07-14 18:45:09.866 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.AbpSuiteController.IsSolutionRunningAsync (Volo.Abp.Suite)' 2022-07-14 18:45:09.866 +03:00 [INF] Request finished HTTP/1.1 GET http://localhost:3000/api/abpSuite/solutions/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/is-running application/json - - 200 - application/json;+charset=utf-8 8.6168ms 2022-07-14 18:45:09.883 +03:00 [INF] Request starting HTTP/1.1 POST http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/save-and-generate-entity application/json 4881 2022-07-14 18:45:09.884 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite)' 2022-07-14 18:45:09.884 +03:00 [INF] Route matched with {controller = "crudPageGenerator", action = "SaveAndGenerateEntity", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.NoContentResult] SaveAndGenerateEntityAsync(System.Guid, Volo.Abp.Suite.Models.EntityModel) on controller Volo.Abp.Suite.Controllers.CrudPageGeneratorController (Volo.Abp.Suite). 2022-07-14 18:45:09.986 +03:00 [INF] === ENTITY GENERATION STARTED ===

    * SOLUTION: PurchaseOrder
    * ENTITY:{
      "Id": "83cb6a0e-7326-41a6-b4fc-1f81c81654b4",
      "Name": "ItemCatalog",
      "OriginalName": "ItemCatalog",
      "NamePlural": "ItemCatalogs",
      "DatabaseTableName": "ItemCatalogs",
      "Namespace": "ItemCatalogs",
      "BaseClass": "FullAuditedAggregateRoot",
      "PrimaryKeyType": "int",
      "IsMultiTenant": true,
      "CheckConcurrency": true,
      "ShouldCreateUserInterface": true,
      "ShouldCreateBackend": true,
      "ShouldAddMigration": true,
      "ShouldUpdateDatabase": true,
      "CreateTests": true,
      "Properties": [
        {
          "Id": "74b40dd1-f4c3-446e-b18f-59fcfb17a0e8",
          "Name": "Code",
          "Type": "string",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": true,
          "MinLength": 1,
          "MaxLength": 50,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "e89ee099-8994-4ed6-9533-0fefc89b9853",
          "Name": "Description",
          "Type": "string",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": 0,
          "MaxLength": 250,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "d08dc651-6275-4e03-bfcc-5c7ced954504",
          "Name": "StoreID",
          "Type": "int",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": true,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": null,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "66eeff38-472a-471c-96b1-6b32a7f569d1",
          "Name": "Spec1",
          "Type": "string",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": 100,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "4740a67c-9f0c-43e1-9fd1-ae3b5a2d33d3",
          "Name": "Spec2",
          "Type": "string",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": 100,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "a8f746ed-3bfd-4e4a-bfda-de29bddeeb18",
          "Name": "Spec3",
          "Type": "string",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": 100,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "086410db-4814-41f6-af5a-a14685e9ea39",
          "Name": "TaxCode",
          "Type": "string",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": 20,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "ca937a40-2cdd-4637-904b-c74e0fc6886f",
          "Name": "TaxPercentage",
          "Type": "decimal",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": null,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "1bd91db9-3770-4c22-9e43-975f2fed59b7",
          "Name": "Currency",
          "Type": "char",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": null,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "40e84126-eeb0-4aff-a4d9-e2969e0e14f0",
          "Name": "CurrencyRate",
          "Type": "decimal",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": null,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "74c8329d-a830-4b9c-9a86-09d600d78fa8",
          "Name": "Rate",
          "Type": "decimal",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": null,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        },
        {
          "Id": "0e976c3d-c0c0-4066-b56e-c2018bfd682f",
          "Name": "UoM",
          "Type": "string",
          "EnumType": "",
          "EnumNamespace": "",
          "EnumAngularImport": "shared/enums",
          "EnumFilePath": null,
          "IsNullable": false,
          "IsRequired": false,
          "MinLength": null,
          "MaxLength": 50,
          "SortOrder": 0,
          "SortType": 0,
          "Regex": "",
          "EmailValidation": false,
          "EnumValues": null,
          "IsSelected": true,
          "OrdinalIndex": 0
        }
      ],
      "NavigationProperties": [],
      "NavigationConnections": [],
      "PhysicalFileName": "ItemCatalog.json"
    }
    

    2022-07-14 18:45:09.987 +03:00 [INF] 1/8 - EntityGenerateCommand started... 2022-07-14 18:45:10.006 +03:00 [INF] 1/8 - EntityGenerateCommand completed. | Duration: 19 ms. 2022-07-14 18:45:10.007 +03:00 [INF] 2/8 - RepositoryCommand started... 2022-07-14 18:45:10.025 +03:00 [INF] 2/8 - RepositoryCommand completed. | Duration: 18 ms. 2022-07-14 18:45:10.026 +03:00 [INF] 3/8 - ManagerCommand started... 2022-07-14 18:45:10.029 +03:00 [INF] 3/8 - ManagerCommand completed. | Duration: 3 ms. 2022-07-14 18:45:10.029 +03:00 [INF] 4/8 - AppServiceCommand started... 2022-07-14 18:45:10.053 +03:00 [INF] 4/8 - AppServiceCommand completed. | Duration: 24 ms. 2022-07-14 18:45:10.054 +03:00 [INF] 5/8 - ProxyControllerCommand started... 2022-07-14 18:45:10.058 +03:00 [INF] 5/8 - ProxyControllerCommand completed. | Duration: 4 ms. 2022-07-14 18:45:10.058 +03:00 [INF] 6/8 - PermissionCommand started... 2022-07-14 18:45:10.060 +03:00 [INF] 6/8 - PermissionCommand completed. | Duration: 2 ms. 2022-07-14 18:45:10.060 +03:00 [INF] 7/8 - ApplicationObjectMappingCommand started... 2022-07-14 18:45:10.063 +03:00 [INF] 7/8 - ApplicationObjectMappingCommand completed. | Duration: 2 ms. 2022-07-14 18:45:10.063 +03:00 [INF] 8/8 - UnitTestCommandCommand started... 2022-07-14 18:45:10.063 +03:00 [WRN] Cannot find DataSeedContributor so skipping data seeding step! 2022-07-14 18:45:10.063 +03:00 [WRN] Cannot find ApplicationTestFile so skipping application test generation! 2022-07-14 18:45:10.063 +03:00 [WRN] Cannot find RepositoryTestFile so skipping repository test generation! 2022-07-14 18:45:10.063 +03:00 [INF] 8/8 - UnitTestCommandCommand completed. | Duration: 0 ms. 2022-07-14 18:45:10.064 +03:00 [INF] Entity generation completed in 0 sec. 2022-07-14 18:45:10.064 +03:00 [INF] Executing StatusCodeResult, setting HTTP status code 204 2022-07-14 18:45:10.064 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite) in 179.9377ms 2022-07-14 18:45:10.064 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite)' 2022-07-14 18:45:10.064 +03:00 [INF] Request finished HTTP/1.1 POST http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/save-and-generate-entity application/json 4881 - 204 - - 180.3573ms 2022-07-14 18:45:10.071 +03:00 [INF] Request starting HTTP/1.1 GET http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/entities application/json - 2022-07-14 18:45:10.071 +03:00 [INF] Executing endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite)' 2022-07-14 18:45:10.071 +03:00 [INF] Route matched with {controller = "crudPageGenerator", action = "GetEntities", area = "", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[System.Collections.Generic.List1[Volo.Abp.Suite.Models.EntityModel]] GetEntitiesAsync(System.Guid) on controller Volo.Abp.Suite.Controllers.CrudPageGeneratorController (Volo.Abp.Suite). 2022-07-14 18:45:10.076 +03:00 [INF] Executing ObjectResult, writing value of type 'System.Collections.Generic.List`1[[Volo.Abp.Suite.Models.EntityModel, Volo.Abp.Suite, Version=5.3.1.0, Culture=neutral, PublicKeyToken=null]]'. 2022-07-14 18:45:10.077 +03:00 [INF] Executed action Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite) in 5.189ms 2022-07-14 18:45:10.077 +03:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.GetEntitiesAsync (Volo.Abp.Suite)' 2022-07-14 18:45:10.077 +03:00 [INF] Request finished HTTP/1.1 GET http://localhost:3000/api/abpSuite/crudPageGenerator/44aeb635-93d0-41ce-8fb2-3d43d15f85b0/entities application/json - - 200 - application/json;+charset=utf-8 5.5186ms

  • User Avatar
    0
    alper created
    Support Team Director

    @muhammedaltug is it fixed in 5.3.3?

  • User Avatar
    0
    afatima@asb.bh created

    When is the 5.3.3 version releasing? If already release how to update my package.

  • User Avatar
    0
    muhammedaltug created

    Hello,

    When we examine the logs we noticed another bug in the abp suite. We opened an issue for this bug. We will notify you when the fix is available. For now, you can create entities with the following steps below

    1. Create a new module with the same name(module name should be PurchaseOrder in your case) placed out of your application
    2. Generate the same entity in the created module
    3. Copy files from module-name/angular/projects/module-name to your-application/angular/projects/module-name

    Your credit refunded

Made with ❤️ on ABP v9.1.0-preview. Updated on November 11, 2024, 11:11