2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 #include <afs/param.h>
15 #include "TaAfsUsrMgr.h"
16 #include "usr_search.h"
20 * DEFINITIONS ________________________________________________________________
26 * PROTOTYPES _________________________________________________________________
30 BOOL CALLBACK Users_Search_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
31 void Users_Search_OnInitDialog (HWND hDlg);
32 void Users_Search_OnCheck (HWND hDlg);
33 void Users_Search_OnOK (HWND hDlg);
37 * ROUTINES ___________________________________________________________________
41 void Users_SetDefaultSearchParams (LPAFSADMSVR_SEARCH_PARAMS pSearchParams)
43 memset (pSearchParams, 0x00, sizeof(AFSADMSVR_SEARCH_PARAMS));
44 pSearchParams->SearchType = SEARCH_NO_LIMITATIONS;
48 void Users_ShowAdvancedSearch (HWND hParent)
50 ModalDialog (IDD_SEARCH_USERS, hParent, (DLGPROC)Users_Search_DlgProc);
54 BOOL CALLBACK Users_Search_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
56 if (AfsAppLib_HandleHelp (IDD_SEARCH_USERS, hDlg, msg, wp, lp))
62 Users_Search_OnInitDialog (hDlg);
69 Users_Search_OnOK (hDlg);
70 EndDialog (hDlg, IDOK);
74 EndDialog (hDlg, IDCANCEL);
78 case IDC_SEARCH_EXPIRE:
79 case IDC_SEARCH_PWEXPIRE:
80 Users_Search_OnCheck (hDlg);
90 void Users_Search_OnInitDialog (HWND hDlg)
92 CheckDlgButton (hDlg, IDC_SEARCH_ALL, (gr.SearchUsers.SearchType == SEARCH_NO_LIMITATIONS));
93 CheckDlgButton (hDlg, IDC_SEARCH_EXPIRE, (gr.SearchUsers.SearchType == SEARCH_EXPIRES_BEFORE));
94 CheckDlgButton (hDlg, IDC_SEARCH_PWEXPIRE, (gr.SearchUsers.SearchType == SEARCH_PASSWORD_EXPIRES_BEFORE));
97 GetSystemTime (&stNow);
100 memcpy (&stShow, ((gr.SearchUsers.SearchType == SEARCH_EXPIRES_BEFORE) ? &gr.SearchUsers.SearchTime : &stNow), sizeof(SYSTEMTIME));
101 DA_SetDate (GetDlgItem (hDlg, IDC_SEARCH_EXPIRE_DATE), &stShow);
103 memcpy (&stShow, ((gr.SearchUsers.SearchType == SEARCH_PASSWORD_EXPIRES_BEFORE) ? &gr.SearchUsers.SearchTime : &stNow), sizeof(SYSTEMTIME));
104 DA_SetDate (GetDlgItem (hDlg, IDC_SEARCH_PWEXPIRE_DATE), &stShow);
106 Users_Search_OnCheck (hDlg);
110 void Users_Search_OnOK (HWND hDlg)
112 AFSADMSVR_SEARCH_PARAMS OldSearchType;
113 memcpy (&OldSearchType, &gr.SearchUsers, sizeof(AFSADMSVR_SEARCH_PARAMS));
115 if (IsDlgButtonChecked (hDlg, IDC_SEARCH_EXPIRE))
117 gr.SearchUsers.SearchType = SEARCH_EXPIRES_BEFORE;
118 DA_GetDate (GetDlgItem (hDlg, IDC_SEARCH_EXPIRE_DATE), &gr.SearchUsers.SearchTime);
120 else if (IsDlgButtonChecked (hDlg, IDC_SEARCH_PWEXPIRE))
122 gr.SearchUsers.SearchType = SEARCH_PASSWORD_EXPIRES_BEFORE;
123 DA_GetDate (GetDlgItem (hDlg, IDC_SEARCH_PWEXPIRE_DATE), &gr.SearchUsers.SearchTime);
125 else // (IsDlgButtonChecked (hDlg, IDC_SEARCH_ALL))
127 gr.SearchUsers.SearchType = SEARCH_NO_LIMITATIONS;
130 // If the user changed any search parameters, refresh the display
132 if (memcmp (&OldSearchType, &gr.SearchUsers, sizeof(AFSADMSVR_SEARCH_PARAMS)))
134 Display_PopulateList();
139 void Users_Search_OnCheck (HWND hDlg)
141 EnableWindow (GetDlgItem (hDlg, IDC_SEARCH_EXPIRE_DATE), IsDlgButtonChecked (hDlg, IDC_SEARCH_EXPIRE));
142 EnableWindow (GetDlgItem (hDlg, IDC_SEARCH_PWEXPIRE_DATE), IsDlgButtonChecked (hDlg, IDC_SEARCH_PWEXPIRE));