diff --git a/datapress/knowledge_base/devInfo/users/bind_user_via_api.md b/datapress/knowledge_base/devInfo/users/bind_user_via_api.md index 8057863..8e44cfe 100644 --- a/datapress/knowledge_base/devInfo/users/bind_user_via_api.md +++ b/datapress/knowledge_base/devInfo/users/bind_user_via_api.md @@ -1,6 +1,6 @@ --- title: How to bind a user using WP API -sidebar_position: 6 +sidebar_position: 30 slug: /knowledge-base/bind-user-via-api tags: - Knowledge base diff --git a/datapress/knowledge_base/devInfo/users/bound_user_details.md b/datapress/knowledge_base/devInfo/users/bound_user_details.md new file mode 100644 index 0000000..91c35a0 --- /dev/null +++ b/datapress/knowledge_base/devInfo/users/bound_user_details.md @@ -0,0 +1,32 @@ +--- +title: Accessing bound user contact details +sidebar_position: 25 +slug: /knowledge-base/bound-user-details +tags: + - Knowledge base + - DataPress + - Retrieve + - User Binding +--- + +If you need to access information about the currently logged-in user in PHP. It can be easily done by using **UserService** class that has methods to return the current user information including the linked CRM record (if available). + +Once the bound contact is retrieved, **WebApiClient** class can be used to access additional information. Connection required for the toolkit to work properly is provided by the **ConnectionService** class. + +```php +use AlexaCRM\Nextgen\ConnectionService; +use AlexaCRM\Nextgen\UserService; +use AlexaCRM\Xrm\ColumnSet; +use AlexaCRM\Xrm\EntityReference; + +$userService = UserService::instance(); + +if ($userService->isBound()){ + $contact = $userService->getBoundRecord(); + + /** @var EntityReference $accountRef */ + $accountRef = $contact['parentcustomerid']; + $account = ConnectionService::instance()->getClient()->Retrieve('account', $accountRef->Id, new ColumnSet(['accountnumber'])); + $accountNum = $account['accountnumber']; +} +``` diff --git a/datapress/knowledge_base/devInfo/users/bound_users.md b/datapress/knowledge_base/devInfo/users/bound_users.md index dced73f..4c3f298 100644 --- a/datapress/knowledge_base/devInfo/users/bound_users.md +++ b/datapress/knowledge_base/devInfo/users/bound_users.md @@ -1,6 +1,6 @@ --- title: How to display a list of bound users in WordPress -sidebar_position: 5 +sidebar_position: 20 slug: /knowledge-base/bound-users tags: - Knowledge base diff --git a/datapress/knowledge_base/devInfo/users/crm_dev.md b/datapress/knowledge_base/devInfo/users/crm_dev.md index 9b46da0..4e8d3d0 100644 --- a/datapress/knowledge_base/devInfo/users/crm_dev.md +++ b/datapress/knowledge_base/devInfo/users/crm_dev.md @@ -1,6 +1,6 @@ --- title: Automating User Management in PowerApps with Flows -sidebar_position: 8 +sidebar_position: 50 slug: /knowledge-base/user-management-in-powerapps tags: - User Management diff --git a/datapress/knowledge_base/devInfo/users/manage_user.md b/datapress/knowledge_base/devInfo/users/manage_user.md index 3add8de..4e12fde 100644 --- a/datapress/knowledge_base/devInfo/users/manage_user.md +++ b/datapress/knowledge_base/devInfo/users/manage_user.md @@ -1,6 +1,6 @@ --- title: Manage users -sidebar_position: 4 +sidebar_position: 10 slug: /knowledge-base/manage-users tags: - Knowledge base diff --git a/datapress/knowledge_base/devInfo/users/user_edit.md b/datapress/knowledge_base/devInfo/users/user_edit.md new file mode 100644 index 0000000..eca42d6 --- /dev/null +++ b/datapress/knowledge_base/devInfo/users/user_edit.md @@ -0,0 +1,27 @@ +--- +title: Editing user profile +sidebar_position: 27 +slug: /knowledge-base/user-editing +tags: + - Knowledge base + - DataPress + - Binding + - User +--- + +If a page is bound to a contact table then passing contact identifier in the query string will set the `binding` object and allow record editing using, for example, a Gravity form that relies on the record binding. + +Allowing user to edit their own Dataverse record is slightly different. We already know the contact id and shouldn’t pass it via the query string. + +This can be used, for example, to build a page that uses Gravity Form for user profile editing. + +```php +// Let's assume that profile page ID is 42 +add_filter( 'integration-cds/binding/bound-record', function( $record, $post ) { + if ( $post->ID !== 42 ) { + return $record; + } + + return \AlexaCRM\Nextgen\UserService\UserService::instance()->getBoundRecord(); +}, 10, 2 ); +``` diff --git a/datapress/knowledge_base/devInfo/users/wp_users_table.md b/datapress/knowledge_base/devInfo/users/wp_users_table.md index 258c8ab..c8a8ece 100644 --- a/datapress/knowledge_base/devInfo/users/wp_users_table.md +++ b/datapress/knowledge_base/devInfo/users/wp_users_table.md @@ -1,6 +1,6 @@ --- title: WordPress Users Table -sidebar_position: 7 +sidebar_position: 40 slug: /knowledge-base/wp-users-table tags: - Knowledge base