arter/amos-admin

此包最新版本(2.5.0)没有可用的许可证信息。

用户管理 - 插件

2.5.0 2024-04-10 10:34 UTC

README

用户资料管理

安装

在 composer.json 中添加管理员要求

"arter/amos-admin": "dev-master",

在 modules-amos.php 中启用管理员模块,添加

 'admin' => [
	'class' => 'arter\amos\admin\AmosAdmin',
 ],

将管理员迁移添加到控制台模块(console/config/migrations-amos.php)

'@vendor/arter/amos-admin/src/migrations'

如果需要标签,请在标签插件中启用用户标签根。为此

  • 激活标签插件(检查它是否在模块配置列表中)
  • 打开标签管理器(需要管理员权限)url
  • 点击标签树根以启用
  • 在页面最后的选项(用户兴趣)中,为所需用户角色启用。

可配置字段

以下是可配置字段列表,AmosAdmin 模块的属性。如果某些属性的默认值不适合您的项目,您可以在模块中进行配置,例如

 'admin' => [
	'class' => 'arter\amos\admin\AmosAdmin',
	'enableRegister' => true, //changed property (default was false)
 ],
 

配置示例

$modules['admin'] =  [
    'class' => 'arter\amos\admin\AmosAdmin',
	'enableRegister' => true,
	'organizationModuleName' => 'organizations',
	'modelMap' => [
		'User' => [
			'class' => 'arter\amos\porting\console\models\PortingUser',
		]
	],
     'fieldsConfigurations' => [
            'boxes' => [
                'box_account_data' => ['form' => true, 'view' => true],
                'box_dati_accesso' => ['form' => true, 'view' => true],
                'box_dati_contatto' => ['form' => true, 'view' => true],
                'box_dati_fiscali_amministrativi' => ['form' => false, 'view' => false],
                'box_dati_nascita' => ['form' => false, 'view' => false],
                'box_email_frequency' => ['form' => true, 'view' => true],
                'box_facilitatori' => ['form' => true, 'view' => true],
                'box_foto' => ['form' => true, 'view' => true],
                'box_informazioni_base' => ['form' => true, 'view' => true],
                'box_presentazione_personale' => ['form' => true, 'view' => true],
                'box_prevalent_partnership' => ['form' => true, 'view' => true],
                'box_privacy' => ['form' => true, 'view' => true],
                'box_questio' => ['form' => false, 'view' => false],
                'box_role_and_area' => ['form' => true, 'view' => true],
                'box_social_account' => ['form' => true, 'view' => true],
            ],
            'fields' => [
                'attivo' => ['form' => true, 'view' => true, 'referToBox' => 'box_account_data'],
                'codice_fiscale' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_fiscali_amministrativi'],
                'cognome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'default_facilitatore' => ['form' => true, 'view' => true],
                'email' => ['form' => true, 'view' => false, 'referToBox' => 'box_dati_contatto'],
                'email_pec' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_contatto'],
                'facebook' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'facilitatore_id' => ['form' => true, 'view' => true, 'referToBox' => 'box_facilitatori'],
                'googleplus' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'linkedin' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'nascita_comuni_id' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nascita_data' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nascita_nazioni_id' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nascita_province_id' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'note' => ['form' => true, 'view' => false, 'referToBox' => 'box_informazioni_base'],
                'presentazione_breve' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'presentazione_personale' => ['form' => true, 'view' => true, 'referToBox' => 'box_presentazione_personale'],
                'prevalent_partnership_id' => ['form' => true, 'view' => true, 'referToBox' => 'box_prevalent_partnership'],
                'privacy' => ['form' => true, 'view' => true, 'referToBox' => 'box_privacy'],
                'sesso' => ['form' => true, 'view' => false, 'referToBox' => 'box_informazioni_base'],
                'telefono' => ['form' => true, 'view' => false, 'referToBox' => 'box_dati_contatto'],
                'twitter' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'ultimo_accesso' => ['form' => true, 'view' => true, 'referToBox' => 'box_account_data'],
                'ultimo_logout' => ['form' => true, 'view' => true, 'referToBox' => 'box_account_data'],
                'username' => ['form' => true, 'view' => false, 'referToBox' => 'box_dati_accesso'],
                'user_profile_age_group_id' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'user_profile_area_id' => ['form' => true, 'view' => false, 'referToBox' => 'box_role_and_area'],
                'userProfileImage' => ['form' => true, 'view' => true, 'referToBox' => 'box_foto'],
                'user_profile_role_id' => ['form' => true, 'view' => false, 'referToBox' => 'box_role_and_area'],
            ]
        ]
    ];
    .
    .
    . 
    return $modules;

模块配置参数

  • enableRegister - 布尔值,默认 = false
    设置为 true 以启用用户注册到应用程序并创建自己的用户资料

  • showLogInRegisterButton - 布尔值,默认 = true
    设置为 true 以在登录表单中启用用户注册按钮

  • hideStandardLoginPageSection - 布尔值,默认 = false
    如果为 true,则隐藏用户可以输入用户名和密码的登录页面部分。

  • textWarningForRegisterDisabled - 字符串,设置禁用注册时要显示的文本

  • enableUserContacts - 布尔值,默认 = true
    启用与用户的连接,发送私人消息,并在用户资料的“网络”部分查看“联系人”。

  • cached - 布尔值,默认 = false
    启用或禁用管理员查询缓存

  • cacheDuration - 整数,默认 = 84600(24小时)
    如果 $cache = true,则查询缓存持续时间的秒数 - 默认为 1 天

  • bypassWorkflow - 布尔值,默认 = false
    如果为 true,则插件绕过用户资料工作流并显示其内容

  • htmlMailContent - 字符串,默认 = '@vendor/arter/amos-admin/src/mail/user/credenziali-html'
    这是用于渲染电子邮件消息的 HTML。在视图中可用变量 $profile,它是一个 'arter\amos\admin\models\UserProfile' 实例。

  • textMailContent - 字符串,默认 = '@vendor/arter/amos-admin/src/mail/user/credenziali-text'
    这是用于渲染电子邮件消息的文本。在视图中可用变量 $profile,它是一个 'arter\amos\admin\models\UserProfile' 实例。

  • fieldsConfigurations - 数组,默认

    public $fieldsConfigurations = [
          'boxes' => [
              'box_informazioni_base' => ['form' => true, 'view' => true]
          ],
          'fields' => [
              'nome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
              'cognome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
              'userProfileImage' => ['form' => true, 'view' => true, 'referToBox' => 'box_foto']
          ]
      ];
    

    此数组包含对表单/向导和模型 UserProfile 的表单/视图的所有配置。在 /src/views/user-profile/boxes 中查找所有可能的子视图以启用/禁用用户资料。

  • profileRequiredFields - 数组,默认 = ['nome', 'cognome', 'status', 'presentazione_breve']
    用户资料表单中的必填字段:默认情况下,姓名、姓氏、资料状态和简短介绍(我在 140 个字符内介绍自己)是必填的。
    如果您的平台中不需要简短介绍作为必填字段,则按如下方式覆盖 profileRequiredFields 属性

    'admin' => [
      'class' => 'arter\amos\admin\AmosAdmin',
      'profileRequiredFields' => ['nome', 'cognome', 'status'] 
    ],
    
  • confManager - ConfigurationManager,默认 = null
    //TODO 解释

  • defaultUserRole - 字符串,默认 = 'BASIC_USER'
    在用户创建时,可以自定义分配给新用户的Rbac角色,默认为BASIC_USER角色。

  • organizationModuleName - 字符串,默认 = 'organizzazioni'
    这是模块名称(您在平台模块配置中使用作为数组键)指代一个扩展了arter\amos\core\interfaces\OrganizationsModuleInterface的模块。它用于提供自定义用于设置用户配置文件主导伙伴关系的实体类型的可能性,例如。//TODO解释更清楚

  • allowLoginWithEmailOrUsername - 布尔,默认 = true
    此功能允许用户使用用户名或电子邮件登录。默认启用。

  • userCanSelectUsername - 布尔,默认 = false
    如果设置为false,则创建新用户时平台将自动设置用户名为电子邮件的'@'之前的部分。如果用户名不可用,系统将生成一个唯一的用户名。默认情况下,用户无法选择用户名。

  • disableUpdateChangeStatus - 布尔,默认 = false
    如果设置为false,则禁用修改个人资料修改状态的弹出窗口。

  • enableWorkflowChangeStatusMails - 布尔,默认 = true
    如果设置为false,则禁用更改配置文件工作流状态的邮件。

  • whiteListProfileImageExts - 字符串,默认 = jpeg, jpg, png, gif
    用于设置配置图像允许的扩展名。

  • associateTutor - 整数,默认 = null 在创建用户时,将用户(导师)设置为创建用户的联系人。

  • defaultPrivateMessage - 布尔,默认 = null 在创建用户时,从导师发送私人消息

  • roleAndAreaOnOrganizations - 布尔,默认 = false
    如果为true,则隐藏标准角色和区域并启用单个网络组织行。

  • roleAndAreaFromOrganizationsWithTypeCat - 布尔,默认 = false
    如果为true,则使用“type_cat”字段在角色和区域查询中。

  • sendUserAssignmentsReportOnDelete - 布尔,默认 = false 启用时,当用户自己删除或被其他用户删除时,通过电子邮件向所有管理员用户发送报告。电子邮件包含删除用户在应用程序内所有分配的摘要。

  • enableSendMessage - 布尔,默认 = false
    如果为true且$enableUserContacts为false,则所有用户在查看图标上看到“发送消息”按钮。

  • helpLinkAction - 字符串,默认 = null
    从后端运行的操作以通过电子邮件和私人消息启用上述参数进入技术区域部分。

  • showFacilitatorForModuleSelect - 布尔,默认 = false
    启用修改促进者

  • dontCheckOneTagPresent - 布尔,默认 = false
    如果为true,则模型验证不检查非ADMIN用户是否存在至少一个标签。

  • enableMultiUsersSameCF - 布尔,默认 = false
    如果为true,则模型验证不检查税号的唯一性。

  • enableInviteUserToEvent - 布尔,默认 = false
    如果为true,则启用单个用户上的链接,用于邀请用户通过事件社区参加发布的事件。

  • createContentInMyOwnCommunityOnly - 布尔,默认 = false 如果为true,则验证基本用户只能在其自己的社区中创建内容

  • actionBlacklistManageInvite - 数组,默认 = [] 用于检查操作控制器是否可以使用邀请按钮的数组。

如何使用令牌组

首先创建令牌组,然后您可以使用以下功能。

  • 您可以使用令牌登录,使用链接/admin/security/login?token=[令牌]
  • 登录后,您将被重定向到TokenGroup设置的URL。
获取创建的令牌组(针对模型,或模型/model_id)
TokenGroup::getTokenGroup($classname, $id = null)
使用user_id(数组)为组生成用户令牌
$tokenGroup->generateTokenUsersByIds($ids)
使用user_id生成单个令牌,@return TokenUsers
$tokenUser = $tokenGroup->generateSingleTokenUser($id)