본문 바로가기
Mendix Intermidiate

멘딕스Mid / 고급 페이지 작성 : 비용 앱 설정2 (Setting Up the Expenses App) 1. Cost App (42)

by share97 2024. 6. 20.
728x90

1. 모듈 이름 > Expenses로 변경 및 폴더 Pages, Resources, TeamMember 생성

 

2. TeamMember 엔터티 생성 > Generalization Administraion.Account로 설정

 

3. ProfilePicture 엔터티 생성 > Generalization >System.Image 로 설정

 

4. 두 엔터티 사이에 1-1 연결 추가 

(한 사람은 한가지 역할만 맡을 수 있다.)

(하지만 멘딕스에서 여러 UserRole을 가질 수 있으므로, 이를 막는 방법은 TeamMember 엔터티에 Before Commit Event Handler, 커밋 전 이벤트 처리기 추가.) => 1개의 사용자 역할만 선택되었는 지 확인하는 마이크로플로우 트리거!!!!

(1-* 막기 위해 사용.)

 

true일 경우 commit 가능  / false일 경우 커밋 중지, 유효성 검사 피드백 메시지

 

 

5. TeamMember 엔터티 속성 > 이벤트 처리기(위 과정/Before Commit 을 해줄 마이크로 플로우를 작성해야 함.) > BCO_TeamMember_CheckUserRoleSelection 마이크로플로우 작성.  

 

(새로 만드는 이 부분이 마이크로 플로우에서 파라미터 값을 받아오는 부분입니다.)

 

6. 마이크로 플로우 제작 

 역할이 2개 이상인지 아닌지 검사하는 단순한 마이크로 플로우 입니다. 

(이때 중요한 것은, Parmeter 값을 정확히 가져왔는 가? 입니다.)

 

7.

 

 

============================================================================================

 

앱 보안 설정

1. 사용자 역할 부여

 

두 부분에 역할을 부여하고, 권한을 줍니다.

 

 

2. 엔터티 액세스 

 

위 사진과 같이 Admin을 엔터티에 접근 권한을 부여합니다.

 

============================================================================================

 

페이지 생성

1. 엔터티_페이지 명으로 Page 폴더에 list > list Column > Atlas_Topbar > 헤더 back 버튼, 액션 버튼 삭제

> 헤더 이름 Team Member Management로 변경 > List view를 TeamMember 엔터티에 연결(자동 채우기 x) > 

 

>>> structure mode로 변경 후 Search on (FullName)으로 설정합니다. (이렇게 하면 리스트 뷰에서 이름으로 검색이 가능해 집니다.)

(위에서 한 작업은 List View Edit에서 Search attributes 쪽에서도 같은 작업을 수행할 수 있습니다.)

 

 

2. 방금 만든 페이지를 관리자 계정으로 볼 수 있게 Navigation 에 관리자를 체크하면 관리자 역할일 때만 페이지가 보입니다.

 

 

3. (필요 시) 네비게이션 바에 Team Member라고 추가 (아이콘 추가), 하고 사용자 역할(User Role)을 부여하면 위에 네비게이션 바에서도 아래 페이지를 볼 수 있습니다.

 

============================================================================================

목록 보기 항목 작성 (페이지에서 List View 쪽)

 

1. 현재 자동으로 채워진 사진은 정적 이미지 입니다. (고정된 사진)

사용자가 변경할 수 있는 이미지로 변경 하려면 (Dynamic image를 사용해야 함.) Tool Box에서 Dynimic image 위젯을 사진과 교체 합니다.

(위 사진에서 오른쪽 사람 이미지를 삭제하고 왼쪽 Dynamic image를 살려 둡니다.)

이 상태에서 아래와 같이 속성을 구성합니다. 

(Default image는 기본 사진을 무엇으로 할지 설정 하는건데 일단 멘딕스에 있는 기본사진 띄우게)

이미지의 (크기(Width, Height 설정)) / 엔터티는 ProfilePicture로 설정 (여기서 불러옵니다.)

 

(아래 편집기는 어떤 기기에서 보여질 지, 중심축을 자동으로 맞춰 줄지 입니다. (건들x))

 

 10.6 Version 이후로는 위에 2번 째 사진의 기능은 사용 할 수 없습니다.

 

 

위에 2개 사진은 버튼 디자인을 하는 설정입니다. (자유)

 

모두 하면,

 

위 사진과 같이 나옵니다. 특히 {FullName}, {Email}부분은 이전에 List View 엔터티에서 선택한 Teamber엔터티 연동된 것으로 여기서 Attribute를 필요한 것을 가져오면 됩니다. 

캡션에 {1} 하고 아래 파라미터 값에서 원하는 값을 가져오면 됩니다.

 

=============================================================================================세부 정보 페이지 작성 - 새 페이지 만들기

 

 

1. 페이지 폴더에 TeamMember_New_Administrator 만들고 제목 Mew Team Member로 변경 (새 팀원 등 원하는 걸로 변경)   >> Layout gird에 Data View를 추가하여고 DataSource를 Marketplace 모듈 Administration.AccountPasswordData로 설정 

 

★ 중요 (Data View1 안에 Data View2를 넣어야 합니다.) / 위에서 연결시킨 Administration > AccountPasswordData 안에 

Data View2를 넣고 (데이터 중첩) Specilizations > TeamMember 엔터티를 선택합니다. 

 

(데이터 중첩을 사용하는 이유: 원하는 데이터를 필터링 하는 기능을 합니다. 엄청 많이 쓰임.)

위에 사진처럼 AccountPasswordDate 데이터 뷰1 안에 TeamMember 데이터 뷰2가 있어야 한다.

 

Structure mode

 

2. TeamMember 엔터티에서 가져온 Attriubte 값만 제외하고 나머지는 삭제 해준다. (아래 그림과 같음)

 

3.  이 부분은 Version 10.10에서 찾지 못함 (미완... ★★★) /gpt 검색 결과 사라졌다고 합니다.

 

 

 

 

일단 reference selector 연결할 수 있는 페이지를 못찾아서 제거 했습니다.

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

마이크로 플로우 구

TeamMember_Overview_Administrator 페이지에 팀원 추가 버튼을 마이크로플로우로 구현 하는 단계 입니다.

 

 

마이크로 플로우 앞부터 1,2,3,4 순 입니다.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

세부 정보 페이지 구축 - 편집 페이지 생성

 

1. 페이지 이름을 TeamMember_New_Administrator 복사 >> TeamMember_Edit_Administrator로 변경

 

2. 페이지 파라미터 값 

위에 사진처럼 TeamMember 엔터티로 페이지 매개 변수를 바꿔줍니다. (이전 AccountPassword Data 페이지 매개변수 삭제)

 

3. Change Password 마이크로 플로우와 연

 

 

=================>>>>>>>>>>>>>>> 이 부분부터 10.10 버전이 맞지 않아 이미 멘딕스 홈페이지에 만들어져 있는 10 .3으로 공부하겠습니다.