forked from CIT/Vmeda.Online
		
	Merge pull request #3590 from dpalou/MOBILE-4203
MOBILE-4203 timezone: Convert 99 to a readable timezone
This commit is contained in:
		
						commit
						47d25bbb99
					
				@ -79,7 +79,7 @@
 | 
			
		||||
                        <p>{{ user.country }}</p>
 | 
			
		||||
                    </ion-label>
 | 
			
		||||
                </ion-item>
 | 
			
		||||
                <ion-item class="ion-text-wrap" *ngIf="user.timezone">
 | 
			
		||||
                <ion-item class="ion-text-wrap" *ngIf="displayTimezone && user.timezone">
 | 
			
		||||
                    <ion-label>
 | 
			
		||||
                        <p class="item-heading">{{ 'core.timezone' | translate}}</p>
 | 
			
		||||
                        <p>{{ user.timezone }}</p>
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,13 @@ import { CoreDomUtils } from '@services/utils/dom';
 | 
			
		||||
import { CoreTextUtils } from '@services/utils/text';
 | 
			
		||||
import { CoreUtils } from '@services/utils/utils';
 | 
			
		||||
import { CoreEventObserver, CoreEvents } from '@singletons/events';
 | 
			
		||||
import { CoreUser, CoreUserProfile, USER_PROFILE_PICTURE_UPDATED, USER_PROFILE_REFRESHED } from '@features/user/services/user';
 | 
			
		||||
import {
 | 
			
		||||
    CoreUser,
 | 
			
		||||
    CoreUserProfile,
 | 
			
		||||
    USER_PROFILE_PICTURE_UPDATED,
 | 
			
		||||
    USER_PROFILE_REFRESHED,
 | 
			
		||||
    USER_PROFILE_SERVER_TIMEZONE,
 | 
			
		||||
} from '@features/user/services/user';
 | 
			
		||||
import { CoreUserHelper } from '@features/user/services/user-helper';
 | 
			
		||||
import { CoreNavigator } from '@services/navigator';
 | 
			
		||||
import { CoreIonLoadingElement } from '@classes/ion-loading';
 | 
			
		||||
@ -50,6 +56,7 @@ export class CoreUserAboutPage implements OnInit, OnDestroy {
 | 
			
		||||
    encodedAddress?: SafeUrl;
 | 
			
		||||
    canChangeProfilePicture = false;
 | 
			
		||||
    interests?: string[];
 | 
			
		||||
    displayTimezone = false;
 | 
			
		||||
 | 
			
		||||
    protected userId!: number;
 | 
			
		||||
    protected site!: CoreSite;
 | 
			
		||||
@ -120,6 +127,12 @@ export class CoreUserAboutPage implements OnInit, OnDestroy {
 | 
			
		||||
 | 
			
		||||
            this.user.address = CoreUserHelper.formatAddress('', user.city, user.country);
 | 
			
		||||
 | 
			
		||||
            const serverTimezone = CoreSites.getCurrentSite()?.getStoredConfig('timezone');
 | 
			
		||||
            this.displayTimezone = !!serverTimezone;
 | 
			
		||||
            if (this.displayTimezone && this.user.timezone === USER_PROFILE_SERVER_TIMEZONE) {
 | 
			
		||||
                this.user.timezone = serverTimezone;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            await this.checkUserImageUpdated();
 | 
			
		||||
        } catch (error) {
 | 
			
		||||
            CoreDomUtils.showErrorModalDefault(error, 'core.user.errorloaduser', true);
 | 
			
		||||
 | 
			
		||||
@ -54,6 +54,11 @@ export const USER_PROFILE_REFRESHED = 'CoreUserProfileRefreshed';
 | 
			
		||||
 */
 | 
			
		||||
export const USER_PROFILE_PICTURE_UPDATED = 'CoreUserProfilePictureUpdated';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Value set in timezone when using the server's timezone.
 | 
			
		||||
 */
 | 
			
		||||
export const USER_PROFILE_SERVER_TIMEZONE = '99';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Service to provide user functionalities.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@ -3,8 +3,8 @@ Feature: Test basic usage of user features
 | 
			
		||||
 | 
			
		||||
  Background:
 | 
			
		||||
    Given the following "users" exist:
 | 
			
		||||
      | username | firstname | lastname |
 | 
			
		||||
      | student1 | Student   | Student  |
 | 
			
		||||
      | username | firstname | lastname | timezone |
 | 
			
		||||
      | student1 | Student   | Student  | 99       |
 | 
			
		||||
 | 
			
		||||
  Scenario: Complete missing fields
 | 
			
		||||
    Given the following "custom profile fields" exist:
 | 
			
		||||
@ -59,3 +59,36 @@ Feature: Test basic usage of user features
 | 
			
		||||
    Then I should find "student1@example.com" in the app
 | 
			
		||||
    And I should find "Student Student" in the app
 | 
			
		||||
    And the UI should match the snapshot
 | 
			
		||||
 | 
			
		||||
  @lms_from4.2
 | 
			
		||||
  Scenario: View timezone in profile
 | 
			
		||||
    Given the following config values are set as admin:
 | 
			
		||||
      | timezone      | Europe/Madrid |
 | 
			
		||||
      | forcetimezone | 99            |
 | 
			
		||||
    And the following "users" exist:
 | 
			
		||||
      | username | firstname | lastname | timezone      |
 | 
			
		||||
      | student2 | John      | Smith    | Asia/Shanghai |
 | 
			
		||||
    And the following "courses" exist:
 | 
			
		||||
      | fullname | shortname |
 | 
			
		||||
      | Course 1 | C1        |
 | 
			
		||||
    And the following "course enrolments" exist:
 | 
			
		||||
      | user     | course | role    |
 | 
			
		||||
      | student1 | C1     | student |
 | 
			
		||||
      | student2 | C1     | student |
 | 
			
		||||
    # @todo MDL-77468 This capability override is needed until the issue is integrated.
 | 
			
		||||
    And the following "permission overrides" exist:
 | 
			
		||||
      | capability                 | permission | role    | contextlevel | reference |
 | 
			
		||||
      | moodle/user:viewalldetails | Allow      | student | Course       | C1        |
 | 
			
		||||
    And I entered the course "Course 1" as "student1" in the app
 | 
			
		||||
    When I press "Participants" in the app
 | 
			
		||||
    And I press "Student Student" in the app
 | 
			
		||||
    And I press "Details" in the app
 | 
			
		||||
    Then I should find "Europe/Madrid" in the app
 | 
			
		||||
    And I should not find "Asia/Shanghai" in the app
 | 
			
		||||
 | 
			
		||||
    When I press the back button in the app
 | 
			
		||||
    And I press the back button in the app
 | 
			
		||||
    And I press "John Smith" in the app
 | 
			
		||||
    And I press "Details" in the app
 | 
			
		||||
    Then I should find "Asia/Shanghai" in the app
 | 
			
		||||
    And I should not find "Europe/Madrid" in the app
 | 
			
		||||
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB  | 
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user