Skip to content

Create Parent Portal User

Create Parent Portal User

Time Required: 3 minutes Module: openeducat_parent User Role: Parent Manager

Overview

Create a portal user account for parents so they can log in and monitor their children’s academic progress. The parent portal provides access to grades, attendance, fees, and notifications.

Prerequisites

  • Parent record exists with linked students
  • Parent has valid email address
  • Students have portal users (optional but recommended)

Step-by-Step Instructions

Step 1: Open Parent Record

  1. Navigate to OpenEduCat > Parents > Parents
  2. Open the parent record that needs portal access

Step 2: Verify Email

Ensure the parent has a valid email address:

  • Check Email field on parent record, OR
  • Check Email field on linked contact (res.partner)

The email will be used as the login username.

Step 3: Create Portal User

  1. Click the Create Parent User button
  2. System automatically creates user account

What Happens Behind the Scenes

# System creates:
user = res.users.create({
'name': parent_contact.name,
'partner_id': parent_contact.id,
'login': parent_email,
'is_parent': True,
'group_ids': portal_groups,
'child_ids': student_user_ids # Links to student accounts
})

Key actions:

  1. Creates res.users record with portal group
  2. Sets is_parent = True flag
  3. Links parent user to student users via child_ids
  4. Uses email as login credential
  5. Sends welcome email with login instructions

Step 4: Verify User Creation

After clicking the button:

  1. User field on parent form now shows linked user
  2. Portal user appears in Settings > Users
  3. Parent can log in at /web/login

Field Changes After User Creation

FieldBeforeAfter
UserEmptyShows linked user
Button”Create Parent User” visibleButton hidden

Parent Portal Access

Once portal user is created, parents can:

FeatureCommunityEnterprise
View student profileYesYes
View enrolled coursesYesYes
View attendanceNoYes
View gradesNoYes
View fee statusNoYes
Receive notificationsNoYes

Portal Login Process

  1. Parent navigates to institution website
  2. Clicks Login or goes to /web/login
  3. Enters email (username) and password
  4. Accesses parent portal dashboard

Access Rules

Parents can only see:

Students where:
- user_id = current_user.id, OR
- user_id in current_user.child_ids

This ensures parents see:

  • Their own record (if they’re also a student)
  • Any student linked via child_ids

Troubleshooting

Button Not Visible

Problem: “Create Parent User” button doesn’t appear.

Solution:

  1. Check if user_id already has a value (user exists)
  2. Verify you have Parent Manager permissions
  3. Ensure parent record is saved

”Login Already Exists” Error

Problem: Cannot create user - login already taken.

Solution:

  1. Check if parent already has a user account
  2. If using same email for multiple parents, they must share one account
  3. Change email to unique address

Parent Cannot See Student Data

Problem: After login, parent sees empty dashboard.

Solution:

  1. Verify students have portal users created
  2. Check child_ids on parent user includes student users
  3. Re-save parent record to trigger child_ids sync

Welcome Email Not Received

Problem: Parent didn’t get login credentials.

Solution:

  1. Check spam/junk folder
  2. Verify email address is correct
  3. Manually reset password via Settings > Users
  4. Send credentials manually

Example: Create Portal User for Father

Scenario: Enable portal access for Robert Smith (father).

Before:

Parent: Robert Smith
Email: robert.smith@email.com
User: (empty)
Students: John Smith, Jane Smith

Steps:

  1. Open parent record “Robert Smith”
  2. Verify email is set
  3. Click Create Parent User

After:

Parent: Robert Smith
Email: robert.smith@email.com
User: robert.smith@email.com (portal)
Students: John Smith, Jane Smith

Result: Robert can now log in and view John and Jane’s academic information.

Child Account Synchronization

When students are updated on parent record:

# On parent.write() with student_ids changes:
student_user_ids = [s.user_id.id for s in parent.student_ids if s.user_id]
parent_user.child_ids = [(6, 0, student_user_ids)]

This keeps parent-student portal links synchronized.

Security Permissions

ActionRequired Group
Create portal userParent Manager
View parent recordsParent Manager
Login to portalPortal User
View own database.group_portal