Activities of "alper"

It looks like a IDS4 configuration issue.

did you run the DbMigrator project? If you are using the same database as your previous projects you may get this exception. Be sure that you create a new database with the DbMigrator project.

This is the solution structure of the SaaS package

This module package is not a final application. You need to include this package in your final app. You can create a final app for each module (to be able to publish as individually) or you can put them all in a monolith app. In your case I think you want your SaaS package as a separate app.

You can create a new HttpApi.Host project using HttpApi project and you can put this app behind the Gateway (so that you can rate limit or load balance your API)

Host.Web and Blazor projects are the applications. These project has UI pages.

If you are using Angular then check out https://docs.abp.io/en/commercial/latest/ui/angular/dynamic-form-extensions

@Mohammad this document explains your question in details https://docs.abp.io/en/abp/latest/Best-Practices/Module-Architecture

Answer

@developer1 this is a know bug and it's already fixed. you can get the fixed version when the new release will be published

Answer

hi,

Suite works with the same version of your project. so if you updated suite to v3.3 then you also need to update your project to v3.3

there won't be a combobox even if you implement this. As I mentioned, this feature will come in the next releases. (4.1) what you can do is; you can replace the New Organisation razor page.

This document explains how to customize UI => https://docs.abp.io/en/abp/latest/UI/AspNetCore/Customization-User-Interface


If you create your own view in the Pages/Identity/OrganizationUnits directory (as embedded resource) it'll overwrite the existing page

Create CreateModal.cshtml file in your web project under Pages/Identity/OrganizationUnits/CreateModal.cshtml

Add the below code to your CreateModal.cshtml and make your customizations

CreateModal.cshtml

@page
@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.Extensions.Localization
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Modal
@using Volo.Abp.Identity.Localization
@using Volo.Abp.Identity.Web.Pages.Identity.OrganizationUnits
@using Volo.Abp.Localization
@using Volo.Abp.ObjectExtending
@model CreateModalModel
@inject IHtmlLocalizer<IdentityResource> L
@inject IStringLocalizerFactory StringLocalizerFactory
@{
    Layout = null;
}
<form asp-page="/Identity/OrganizationUnits/CreateModal" autocomplete="off">
    <abp-modal>
        <abp-modal-header title="@L["NewOrganizationUnit"].Value"></abp-modal-header>
        <abp-modal-body>
            <abp-input asp-for="OrganizationUnit.ParentId"/>
            <abp-input asp-for="OrganizationUnit.DisplayName"/>
            @foreach (var propertyInfo in ObjectExtensionManager.Instance.GetProperties<CreateModalModel.OrganizationUnitInfoModel>())
            {
                if (propertyInfo.Type.IsEnum)
                {
                    <abp-select asp-for="OrganizationUnit.ExtraProperties[propertyInfo.Name]"
                                label="@propertyInfo.GetLocalizedDisplayName(StringLocalizerFactory)">
                    </abp-select>
                }
                else
                {
                    <abp-input type="@propertyInfo.GetInputType()"
                               asp-for="OrganizationUnit.ExtraProperties[propertyInfo.Name]"
                               label="@propertyInfo.GetLocalizedDisplayName(StringLocalizerFactory)"
                               asp-format="@propertyInfo.GetInputFormatOrNull()"
                               value="@propertyInfo.GetInputValueOrNull(Model.OrganizationUnit.ExtraProperties[propertyInfo.Name])"/>
                }
            }
        </abp-modal-body>
        <abp-modal-footer buttons="@(AbpModalButtons.Cancel | AbpModalButtons.Save)"></abp-modal-footer>
    </abp-modal>
</form>

CreateModal.cshtml.cs

public class CreateModalModel : IdentityPageModel
    {
        [BindProperty]
        public OrganizationUnitInfoModel OrganizationUnit { get; set; }

        protected IOrganizationUnitAppService OrganizationUnitAppService { get; }

        public CreateModalModel(IOrganizationUnitAppService organizationUnitAppService)
        {
            OrganizationUnitAppService = organizationUnitAppService;
            OrganizationUnit = new OrganizationUnitInfoModel();
        }

        public virtual Task OnGetAsync(Guid? parentId)
        {
            OrganizationUnit.ParentId = parentId;
            return Task.CompletedTask;
        }

        public virtual async Task<IActionResult> OnPostAsync()
        {
            ValidateModel();

            var input = ObjectMapper.Map<OrganizationUnitInfoModel, OrganizationUnitCreateDto>(OrganizationUnit);
            await OrganizationUnitAppService.CreateAsync(input);

            return NoContent();
        }

        public class OrganizationUnitInfoModel : ExtensibleObject
        {
            [HiddenInput]
            public Guid? ParentId { get; set; }
            
            [Required]
            public string DisplayName { get; set; }
        }
    }

hi did you have a chance to look at https://docs.abp.io/en/abp/latest/UI/Angular/Component-Replacement

Answer

thank you for your feedback. we have created an issue. also your question credit has been refunded.


Internal issue no: 3743

I guess you don't need to put GetUnitCategoryLookupAsync into AppOrganizationUnitController. You can create a new controller. Can you try it.

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