Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
UPSMF
uphrh-SunbirdEd-portal-old
Commits
842af22b
Unverified
Commit
842af22b
authored
4 years ago
by
deveshMantra
Committed by
GitHub
4 years ago
Browse files
Options
Download
Patches
Plain Diff
Issue #SH-489 fix:teacher form not updating as expected (#4405)
parent
2bc321b9
master
Dark_theme
SB-25589
SB-28090
aws_fileRead
contributions
dependabot/npm_and_yarn/src/app/client/decode-uri-component-0.2.2
dependabot/npm_and_yarn/src/app/decode-uri-component-0.2.2
dependabot/npm_and_yarn/src/app/express-4.17.3
dependabot/npm_and_yarn/src/app/jsonwebtoken-9.0.0
dependabot/npm_and_yarn/src/desktop/OpenRAP/decode-uri-component-0.2.2
dependabot/npm_and_yarn/src/desktop/OpenRAP/express-4.17.3
dependabot/npm_and_yarn/src/desktop/OpenRAP/jsonwebtoken-9.0.0
dependabot/npm_and_yarn/src/desktop/OpenRAP/qs-6.5.3
dependabot/npm_and_yarn/src/desktop/decode-uri-component-0.2.2
dependabot/npm_and_yarn/src/desktop/express-4.17.3
dependabot/npm_and_yarn/src/desktop/jsonwebtoken-9.0.0
dependabot/npm_and_yarn/src/desktop/qs-6.10.3
filters_5.1.1
gcp
gcp_test
keshavprasadms-patch-1
keshavprasadms-patch-2
release-3.0.1
release-3.0.2
release-3.0.3
release-3.0.4
release-3.0.4-sso
release-3.1.0
release-3.1.1
release-3.1.2
release-3.2.0
release-3.2.1
release-3.2.10
release-3.2.11
release-3.2.12
release-3.2.13
release-3.2.14
release-3.2.2
release-3.2.3
release-3.2.4
release-3.3.0
release-3.3.0-telemetry-fix
release-3.3.1
release-3.3.2
release-3.4.0
release-3.4.1
release-3.4.2
release-3.4.3
release-3.4.4
release-3.4.5
release-3.4.6
release-3.4.7
release-3.5.0
release-3.5.1
release-3.5.2
release-3.5.3
release-3.6.0
release-3.6.1
release-3.6.5
release-3.6.6
release-3.7.0
release-3.7.1
release-3.7.2
release-3.8.0
release-3.8.1
release-3.8.2
release-3.8.3
release-3.9.0
release-3.9.1
release-3.9.2
release-3.9.3
release-4.0.0
release-4.0.1
release-4.0.2
release-4.1
release-4.1.0
release-4.1.1
release-4.10.0
release-4.10.0.1
release-4.10.1
release-4.10.2
release-4.10.2.1
release-4.10.2.2
release-4.10.3
release-4.2.0
release-4.2.1
release-4.3.0
release-4.3.1
release-4.4.0
release-4.4.1
release-4.5.0
release-4.5.1
release-4.5.2
release-4.6.0
release-4.7.0
release-4.7.1
release-4.8.0
release-4.8.5
release-4.9.0
release-4.9.1
release-5.0.0
release-5.0.0.1
release-5.0.0.2
release-5.0.0.3
release-5.0.1
release-5.0.2
release-5.1.0
release-5.1.1
revert-4427-player-cache-issue
revert-4537-SB-19763
revert-5244-sh-809
revert-5260-SB-table-3.3.0
revert-8284-release-5.0.0
sharathkashyap-patch-1
Tags unavailable
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/app/client/src/app/plugins/profile/components/submit-teacher-details/submit-teacher-details.component.spec.data.ts
+18
-0
...her-details/submit-teacher-details.component.spec.data.ts
src/app/client/src/app/plugins/profile/components/submit-teacher-details/submit-teacher-details.component.spec.ts
+28
-0
...-teacher-details/submit-teacher-details.component.spec.ts
src/app/client/src/app/plugins/profile/components/submit-teacher-details/submit-teacher-details.component.ts
+31
-20
...ubmit-teacher-details/submit-teacher-details.component.ts
with
77 additions
and
20 deletions
+77
-20
src/app/client/src/app/plugins/profile/components/submit-teacher-details/submit-teacher-details.component.spec.data.ts
+
18
−
0
View file @
842af22b
...
...
@@ -558,5 +558,23 @@ export const mockRes = {
'
tncAcceptedVersion
'
:
'
v1
'
}
}
},
externalId
:
[
{
"
idType
"
:
"
declared-ext-id
"
,
"
provider
"
:
"
tp
"
,
"
id
"
:
"
p
"
},
{
"
idType
"
:
"
declared-school-name
"
,
"
provider
"
:
"
tp
"
,
"
id
"
:
"
2222
"
}
],
stateDetails
:
{
'
code
'
:
'
50
'
,
'
name
'
:
'
mock state
'
,
'
id
'
:
'
969dd3c1-4e9
'
,
'
type
'
:
'
state
'
}
};
This diff is collapsed.
Click to expand it.
src/app/client/src/app/plugins/profile/components/submit-teacher-details/submit-teacher-details.component.spec.ts
+
28
−
0
View file @
842af22b
...
...
@@ -227,5 +227,33 @@ describe('SubmitTeacherDetailsComponent', () => {
const
data
=
component
.
isStateChanged
();
expect
(
data
).
toBe
(
false
);
});
it
(
'
should return add operation as form action is submit
'
,
()
=>
{
component
.
formAction
=
'
submit
'
;
const
data
=
component
.
getOperation
(
'
declared-school-name
'
,
'
tp
'
,
'
2222
'
);
expect
(
data
).
toBe
(
'
add
'
);
});
it
(
'
should return add operation as form action is update and state changed
'
,
()
=>
{
const
userData
=
mockRes
.
userData
.
result
.
response
;
const
state
=
component
.
userDetailsForm
.
controls
[
'
state
'
];
state
.
setValue
(
mockRes
.
stateDetails
);
component
.
formAction
=
'
update
'
;
userData
.
externalIds
=
mockRes
.
externalId
;
component
.
userProfile
=
userData
;
const
data
=
component
.
getOperation
(
'
declared-school-name
'
,
'
tp
'
,
'
2222
'
);
expect
(
data
).
toBe
(
'
add
'
);
});
it
(
'
should return edit operation as form action is update and value present in userprofile
'
,
()
=>
{
const
userData
=
mockRes
.
userData
.
result
.
response
;
const
state
=
component
.
userDetailsForm
.
controls
[
'
state
'
];
state
.
setValue
(
userData
.
userLocations
[
1
]);
component
.
formAction
=
'
update
'
;
userData
.
externalIds
=
mockRes
.
externalId
;
component
.
userProfile
=
userData
;
const
data
=
component
.
getOperation
(
'
declared-school-name
'
,
'
tp
'
,
'
2222
'
);
expect
(
data
).
toBe
(
'
edit
'
);
});
});
This diff is collapsed.
Click to expand it.
src/app/client/src/app/plugins/profile/components/submit-teacher-details/submit-teacher-details.component.ts
+
31
−
20
View file @
842af22b
...
...
@@ -236,6 +236,25 @@ export class SubmitTeacherDetailsComponent implements OnInit, OnDestroy {
return
isStateChanged
;
}
getOperation
(
fieldType
,
provider
,
inputFieldValue
)
{
let
operation
;
if
(
this
.
formAction
===
'
submit
'
||
this
.
formAction
===
'
update
'
&&
this
.
isStateChanged
())
{
operation
=
'
add
'
}
else
{
const
externalIdObj
=
this
.
findExternalIdObj
(
fieldType
,
provider
);
operation
=
externalIdObj
?
inputFieldValue
?
'
edit
'
:
'
remove
'
:
'
add
'
;
}
return
operation
;
}
findExternalIdObj
(
fieldType
,
provider
)
{
const
externalIds
=
_
.
get
(
this
.
userProfile
,
'
externalIds
'
);
const
externalIdObj
=
_
.
find
(
externalIds
,
function
(
externalId
)
{
return
(
externalId
.
idType
===
fieldType
&&
externalId
.
provider
===
provider
)
});
return
externalIdObj
&&
externalIdObj
.
id
}
onSubmitForm
()
{
this
.
searchService
.
getOrganisationDetails
({
locationIds
:
[
_
.
get
(
this
.
userDetailsForm
,
'
value.state.id
'
)]
}).
pipe
(
takeUntil
(
this
.
unsubscribe
))
...
...
@@ -246,34 +265,26 @@ export class SubmitTeacherDetailsComponent implements OnInit, OnDestroy {
if
(
_
.
get
(
this
.
userDetailsForm
,
'
value.state.code
'
))
{
locationCodes
.
push
(
_
.
get
(
this
.
userDetailsForm
,
'
value.state.code
'
));
}
if
(
_
.
get
(
this
.
userDetailsForm
,
'
value.district
'
))
{
locationCodes
.
push
(
_
.
get
(
this
.
userDetailsForm
,
'
value.district
'
));
}
const
provider
=
_
.
get
(
orgData
,
'
result.response.content[0].channel
'
);
let
operation
=
this
.
formAction
===
'
submit
'
?
'
add
'
:
'
edit
'
;
let
externalIds
=
[];
if
(
this
.
formAction
===
'
update
'
&&
this
.
isStateChanged
()
||
provider
!==
_
.
get
(
this
.
userProfile
,
'
externalIds[0].provider
'
))
{
operation
=
'
add
'
;
const
extIds
=
this
.
userProfile
.
externalIds
||
[];
_
.
forEach
(
extIds
,
(
externalId
,
index
)
=>
{
extIds
[
index
][
'
operation
'
]
=
'
remove
'
;
});
externalIds
=
extIds
.
concat
(
externalIds
);
}
if
(
_
.
get
(
this
.
userDetailsForm
,
'
value.school
'
))
{
externalIds
.
push
({
id
:
_
.
get
(
this
.
userDetailsForm
,
'
value.school
'
),
operation
,
idType
:
'
declared-school-name
'
,
provider
});
}
if
(
_
.
get
(
this
.
userDetailsForm
,
'
value.udiseId
'
))
{
externalIds
.
push
({
id
:
_
.
get
(
this
.
userDetailsForm
,
'
value.udiseId
'
),
operation
,
idType
:
'
declared-school-udise-code
'
,
provider
});
}
if
(
_
.
get
(
this
.
userDetailsForm
,
'
value.teacherId
'
))
{
externalIds
.
push
({
id
:
_
.
get
(
this
.
userDetailsForm
,
'
value.teacherId
'
),
operation
,
idType
:
'
declared-ext-id
'
,
provider
});
}
const
fields
=
new
Map
([[
'
value.school
'
,
'
declared-school-name
'
],
[
'
value.udiseId
'
,
'
declared-school-udise-code
'
],
[
'
value.teacherId
'
,
'
declared-ext-id
'
]]);
fields
.
forEach
((
fieldKey
,
formKey
)
=>
{
const
id
=
_
.
get
(
this
.
userDetailsForm
,
formKey
)
||
this
.
findExternalIdObj
(
fieldKey
,
provider
);
if
(
id
)
{
externalIds
.
push
({
id
,
operation
:
this
.
getOperation
(
fieldKey
,
provider
,
_
.
get
(
this
.
userDetailsForm
,
formKey
)),
idType
:
fieldKey
,
provider
});
}
});
const
data
=
{
userId
:
this
.
userService
.
userid
,
locationCodes
,
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets