Activities of "maliming"

: )

hi

The toolbar will render as HTML link. So, there is no action hook design.

But you can add some JavaScript to listen to the event if a toolbar link is clicked.

But how do I do this, as if just removing the NuGet package then I get multiple errors in the code. Do I have to manually go through code and remove it?

  1. Remove all nuget packages from csproj files.
  2. Remove all module references and namespaces from cs files .
  3. Recreate the ef core migrations.

So are you saying that ABP Studio will eventually be improved so I can create project in first place without these modules included?

Yes, Studio will introduce more features day by day.

hi

I added the MyPermissionStore to Domain module.

Then I can get it in API and AuthServer project.

hi

I have sent the angular source code to your email.

hi

I'm more suggesting a new ABP feature by adding to the existing setting management for Session management

This does not conform to the current design of the saas module.

You can override IdentitySettingGroupViewComponent component to customize it.

hi

The images are 404. we will fix this problem.

Can you share the details by email?

sorry for that.

liming.ma@volosoft.com

hi

I will ask our angular team. : )

hi

https://abp.io/support/questions/240/How-to-customize-the-MVC-login-page https://abp.io/community/articles/how-to-customize-the-login-page-for-mvc-razor-page-applications-9a40f3cd

You can download the account module source code. And override the login page.

If you have openiddict, the login page base class is OpenIddictSupportedLoginModel

[ExposeServices(typeof(LoginModel))]
public class OpenIddictSupportedLoginModel: LoginModel

https://abp.io/support/questions/632/How-can-I-download-the-source-code-of-the-framework-Angular-packages-theme-and-pro-modules

https://abp.io/support/questions/160/How-to-customize-an-ABP-project

hi

You can add a service to store the current user id and connection id.

Maintain the dictionary in OnConnectedAsync/OnDisconnectedAsync, then get connection id by user id(GetConnectionIdsByKey)

public class QaUiConnectionStore : ISingletonDependency
{
    private readonly Dictionary<string, HashSet<string>> _connections = new();
    
    public void AddConnection(string key, string connectionId)
    {
        lock (_connections)
        {
            if (!_connections.ContainsKey(key))
            {
                _connections.Add(key, new HashSet<string>());    
            }

            lock (_connections[key])
            {
                _connections[key].Add(connectionId);
            }
        }
    }

    public IEnumerable<string> GetConnectionIdsByKey(string key)
    {
        if (_connections.TryGetValue(key, out var connection))
        {
            return connection;
        }

        return Enumerable.Empty<string>();
    }

    public void RemoveConnection(string key, string connectionId)
    {
        lock (_connections)
        {
            if (!_connections.TryGetValue(key, out var connection))
            {
                return;
            }

            lock (connection)
            {
                connection.Remove(connectionId);
                if (connection.Count == 0)
                {
                    _connections.Remove(key);
                }
            }
        }
    }
}
public class QaUiNotificationHub : AbpHub<IQaUiNotificationClient>
{
    private readonly QaUiConnectionStore _qaUiConnectionStore;

    public QaUiNotificationHub(QaUiConnectionStore qaUiConnectionStore)
    {
        _qaUiConnectionStore = qaUiConnectionStore;
    }

    public override Task OnConnectedAsync()
    {
        if (IsUserAuthenticated())
        {
            var key = CurrentUser.Id.ToString();
            _qaUiConnectionStore.AddConnection(key, connectionId: Context.ConnectionId);
        }
        
        return base.OnConnectedAsync();
    }

    public override Task OnDisconnectedAsync(Exception? exception)
    {
        if (IsUserAuthenticated())
        {
            var key = CurrentUser.Id.ToString();
            _qaUiConnectionStore.RemoveConnection(key, connectionId: Context.ConnectionId);
        }
        
        return base.OnDisconnectedAsync(exception);
    }

    private bool IsUserAuthenticated()
    {
        return CurrentUser.IsAuthenticated && CurrentUser.Id.HasValue;
    }
}

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