Activities of "pkouame"

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: v2.9.0
  • UI type: Angular / MVC
  • Tiered (MVC) or Identity Server Seperated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:

in service.ts :

  url: `/api/ENTITY_NAME/with-navigation-properties/${id}`
  
  should be 
  
   url: `/api/app/ENTITY_NAME/with-navigation-properties/${id}`

Template needed a change (again) :

I'm on a roll - third bug today - since I'm finding your bugs (as a paying customer no less) can I get credit in my question counter (at least) ?

Don't mean to be nasty .... just frustrating ... please test and pay more care to the angular side of things...

regards, Patrice

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: v2.9.0
  • UI type: Angular / MVC
  • Tiered (MVC) or Identity Server Seperated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:

in abp suite 2.9.0 - create a new entity with non-required properties (string type usually in my case) migrate and update form doesn't validate when non-required field is skipped

see below. In my Vendor Entity the Phone property is tagged as non-required:

server requires validation :

Even though the create DTO seems correct :

using System;
using System.ComponentModel.DataAnnotations;

namespace Skipj.Track.Vendors
{
    public class VendorCreateDto
    {

        [Required]
        [StringLength(VendorConsts.NameMaxLength, MinimumLength = VendorConsts.NameMinLength)]
        public string Name { get; set; }

        [StringLength(VendorConsts.PhoneMaxLength, MinimumLength = VendorConsts.PhoneMinLength)]
        public string Phone { get; set; }

        [EmailAddress]
        [StringLength(VendorConsts.EmailMaxLength, MinimumLength = VendorConsts.EmailMinLength)]
        public string Email { get; set; }

        [StringLength(VendorConsts.WebsiteMaxLength, MinimumLength = VendorConsts.WebsiteMinLength)]
        public string Website { get; set; }

        [StringLength(VendorConsts.TaxIdMaxLength, MinimumLength = VendorConsts.TaxIdMinLength)]
        public string TaxId { get; set; }

        [StringLength(VendorConsts.VendorIdMaxLength, MinimumLength = VendorConsts.VendorIdMinLength)]
        public string VendorId { get; set; }

        [StringLength(VendorConsts.AltNameMaxLength, MinimumLength = VendorConsts.AltNameMinLength)]
        public string AltName { get; set; }

        [StringLength(VendorConsts.DbaNameMaxLength, MinimumLength = VendorConsts.DbaNameMinLength)]
        public string DbaName { get; set; }

        [StringLength(VendorConsts.NotesMaxLength, MinimumLength = VendorConsts.NotesMinLength)]
        public string Notes { get; set; }

        [Required]
        public bool IsPrime { get; set; }

        [Required]
        public bool IsMdBased { get; set; }

        public bool IsWomanOwned { get; set; }

        [StringLength(VendorConsts.RatingMaxLength, MinimumLength = VendorConsts.RatingMinLength)]
        public string Rating { get; set; }

        [StringLength(VendorConsts.DisplayNameMaxLength, MinimumLength = VendorConsts.DisplayNameMinLength)]
        public string DisplayName { get; set; }

        public bool HasMdEmployees { get; set; }

        [StringLength(VendorConsts.DunsNumberMaxLength, MinimumLength = VendorConsts.DunsNumberMinLength)]
        public string DunsNumber { get; set; }

    }
}

the angular input form doesn't mark anything as required either :

    <ng-template #abpBody>
        <form [formGroup]="form" (ngSubmit)="save()" validateOnSubmit>
            <div class="mt-2 fade-in-top">
                    <div class="form-group">
      <label for="vendor-name">
          {{ '::Name' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-name" 
             class="form-control" 			 
             formControlName="name" autofocus maxlength="64" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-phone">
          {{ '::Phone' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-phone" 
             class="form-control" 			 
             formControlName="phone"  maxlength="50" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-email">
          {{ '::Email' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-email" 
             class="form-control" 			 
             formControlName="email"  maxlength="32" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-website">
          {{ '::Website' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-website" 
             class="form-control" 			 
             formControlName="website"  maxlength="64" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-taxId">
          {{ '::TaxId' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-taxId" 
             class="form-control" 			 
             formControlName="taxId"  maxlength="10" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-vendorId">
          {{ '::VendorId' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-vendorId" 
             class="form-control" 			 
             formControlName="vendorId"  maxlength="255" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-altName">
          {{ '::AltName' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-altName" 
             class="form-control" 			 
             formControlName="altName"  maxlength="64" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-dbaName">
          {{ '::DbaName' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-dbaName" 
             class="form-control" 			 
             formControlName="dbaName"  maxlength="64" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-notes">
          {{ '::Notes' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-notes" 
             class="form-control" 			 
             formControlName="notes"  maxlength="255" minlength="1"/>
    </div>
	<div class="form-group form-check custom-checkbox custom-control">
      <input type="checkbox" 
             id="vendor-isPrime" 
             class="form-check-input custom-control-input" 
             formControlName="isPrime" />

      <label class="custom-control-label" 
             for="vendor-isPrime">
          {{ '::IsPrime' | abpLocalization }}
      </label>
    </div>
	<div class="form-group form-check custom-checkbox custom-control">
      <input type="checkbox" 
             id="vendor-isMdBased" 
             class="form-check-input custom-control-input" 
             formControlName="isMdBased" />

      <label class="custom-control-label" 
             for="vendor-isMdBased">
          {{ '::IsMdBased' | abpLocalization }}
      </label>
    </div>
	<div class="form-group form-check custom-checkbox custom-control">
      <input type="checkbox" 
             id="vendor-isWomanOwned" 
             class="form-check-input custom-control-input" 
             formControlName="isWomanOwned" />

      <label class="custom-control-label" 
             for="vendor-isWomanOwned">
          {{ '::IsWomanOwned' | abpLocalization }}
      </label>
    </div>
    <div class="form-group">
      <label for="vendor-rating">
          {{ '::Rating' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-rating" 
             class="form-control" 			 
             formControlName="rating"  maxlength="32" minlength="1"/>
    </div>
    <div class="form-group">
      <label for="vendor-displayName">
          {{ '::DisplayName' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-displayName" 
             class="form-control" 			 
             formControlName="displayName"  maxlength="64" minlength="1"/>
    </div>
	<div class="form-group form-check custom-checkbox custom-control">
      <input type="checkbox" 
             id="vendor-hasMdEmployees" 
             class="form-check-input custom-control-input" 
             formControlName="hasMdEmployees" />

      <label class="custom-control-label" 
             for="vendor-hasMdEmployees">
          {{ '::HasMdEmployees' | abpLocalization }}
      </label>
    </div>
    <div class="form-group">
      <label for="vendor-dunsNumber">
          {{ '::DunsNumber' | abpLocalization }}
      </label>

      <input type="text" 
             id="vendor-dunsNumber" 
             class="form-control" 			 
             formControlName="dunsNumber"  maxlength="10" minlength="1"/>
    </div>
 
            </div>
        </form>
    </ng-template>
  

**SECOND question while I'm at it : why aren't required fields tagged as such on the angular form (like red dot or asterisk on the MV forms) **

  • ABP Framework version: v2.9.0
  • UI type: Angular / MVC
  • Tiered (MVC) or Identity Server Seperated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:

all my primary keys are int and suite generates server lookupasync() code based on guid. Eventually prevents migrations (and database update)

Task<PagedResultDto<LookupDto<guid?>>> instead of Task<PagedResultDto<LookupDto<int?>>> in one of server controllers

very reproducible

Documentation

Check the official docs before asking a question: https://docs.abp.io/en/commercial/latest/

Samples

Check the samples, to see basic & fundemental implementations: https://docs.abp.io/en/commercial/latest/samples/index

Previous Questions

The exact solution to your question may have been answered before, please use the search on the homepage.

**Bug Report / Issue / Question **

Provide the following information to reduce the conversation steps:

  • ABP Framework version:
  • UI type: MVC
  • Tiered (MVC) or Identity Server Seperated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:

macos easycrm project abp suite 2.8

add an author entity (per the guide) to the easycrm sample project save and generate -> generates the code with error (screenshot attached)

Documentation

Check the official docs before asking a question: https://docs.abp.io/en/commercial/latest/

Samples

Check the samples, to see basic & fundemental implementations: https://docs.abp.io/en/commercial/latest/samples/index

Previous Questions

The exact solution to your question may have been answered before, please use the search on the homepage.

Bug Report / Issue / Question

Provide the following information to reduce the conversation steps:

  • ABP Framework version:
  • UI type: Angular
  • Tiered (MVC) or Identity Server Seperated (Angular): no
  • Exception message and stack trace:
  • Steps to reproduce the issue:
  • create a simple author entity with two properties on a newly generated 2.0 solution
  • code is generated
  • ERROR:
  • Error occurred on DB migration step: MSBUILD : error MSB1009: Project file does not exist. Switch: ../Kuvu.HttpApi.Host Unable to retrieve project metadata. Ensure it's an MSBuild-based .NET Core project. If you're using custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.
  • (see screenshot below)

on macOS dotnet 3.1 abp.io v2.8

Showing 1 to 5 of 5 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 11, 2024, 11:11