g-eshoplogin.w 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME geShopLogin
  5. {adecomm/appserv.i}
  6. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS geShopLogin
  7. /*------------------------------------------------------------------------
  8. File:
  9. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  10. Input Parameters:
  11. <none>
  12. Output Parameters:
  13. <none>
  14. Author:
  15. Created:
  16. ------------------------------------------------------------------------*/
  17. /* This .W file was created with the Progress AppBuilder. */
  18. /*----------------------------------------------------------------------*/
  19. /* Create an unnamed pool to store all the widgets created
  20. by this procedure. This is a good default which assures
  21. that this procedure's triggers and internal procedures
  22. will execute in this procedure's storage, and that proper
  23. cleanup will occur on deletion of the procedure. */
  24. CREATE WIDGET-POOL.
  25. /* *************************** Definitions ************************** */
  26. /* Parameters Definitions --- */
  27. DEF INPUT-OUTPUT PARAMETER opBenutzer AS CHAR NO-UNDO.
  28. DEF INPUT-OUTPUT PARAMETER opMail AS CHAR NO-UNDO.
  29. DEF INPUT-OUTPUT PARAMETER opPasswort AS CHAR NO-UNDO.
  30. DEF OUTPUT PARAMETER opOK AS LOG NO-UNDO.
  31. /* Local Variable Definitions --- */
  32. { incl/dlgdefinition.i }
  33. { src/adm2/widgetprto.i }
  34. /* _UIB-CODE-BLOCK-END */
  35. &ANALYZE-RESUME
  36. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  37. /* ******************** Preprocessor Definitions ******************** */
  38. &Scoped-define PROCEDURE-TYPE SmartDialog
  39. &Scoped-define DB-AWARE no
  40. &Scoped-define ADM-CONTAINER DIALOG-BOX
  41. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  42. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  43. &Scoped-define FRAME-NAME geShopLogin
  44. /* Standard List Definitions */
  45. &Scoped-Define ENABLED-OBJECTS RECT-2 F_Benutzer F_Mail F_Passwort ~
  46. Btn_Zufall Btn_OK Btn_Cancel
  47. &Scoped-Define DISPLAYED-OBJECTS F_Benutzer F_Mail F_Passwort
  48. /* Custom List Definitions */
  49. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  50. &Scoped-define List-6 F_Benutzer F_Mail F_Passwort
  51. /* _UIB-PREPROCESSOR-BLOCK-END */
  52. &ANALYZE-RESUME
  53. /* *********************** Control Definitions ********************** */
  54. /* Define a dialog box */
  55. /* Definitions of the field level widgets */
  56. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  57. LABEL "abbrechen"
  58. SIZE 15 BY 1.
  59. DEFINE BUTTON Btn_OK AUTO-GO
  60. LABEL "OK"
  61. SIZE 15 BY 1.
  62. DEFINE BUTTON Btn_Zufall
  63. LABEL "Zufall"
  64. SIZE 9 BY 1.
  65. DEFINE VARIABLE F_Benutzer AS CHARACTER FORMAT "x(30)":U
  66. LABEL "Benutzer"
  67. VIEW-AS FILL-IN NATIVE
  68. SIZE 30 BY 1
  69. BGCOLOR 15 NO-UNDO.
  70. DEFINE VARIABLE F_Mail AS CHARACTER FORMAT "x(200)":U
  71. LABEL "Mailadresse"
  72. VIEW-AS FILL-IN NATIVE
  73. SIZE 60 BY 1
  74. BGCOLOR 15 NO-UNDO.
  75. DEFINE VARIABLE F_Passwort AS CHARACTER FORMAT "x(30)":U
  76. LABEL "Passwort"
  77. VIEW-AS FILL-IN NATIVE
  78. SIZE 30 BY 1
  79. BGCOLOR 15 NO-UNDO.
  80. DEFINE RECTANGLE RECT-2
  81. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  82. SIZE 80 BY 4.29.
  83. /* ************************ Frame Definitions *********************** */
  84. DEFINE FRAME geShopLogin
  85. F_Benutzer AT ROW 2 COL 18 COLON-ALIGNED WIDGET-ID 4
  86. F_Mail AT ROW 2.95 COL 18 COLON-ALIGNED WIDGET-ID 6
  87. F_Passwort AT ROW 3.91 COL 18 COLON-ALIGNED WIDGET-ID 8
  88. Btn_Zufall AT ROW 4 COL 52 WIDGET-ID 10
  89. Btn_OK AT ROW 7 COL 12.2
  90. Btn_Cancel AT ROW 7 COL 35.4
  91. RECT-2 AT ROW 1.48 COL 3 WIDGET-ID 2
  92. SPACE(1.99) SKIP(3.22)
  93. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  94. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  95. TITLE "Login für eShop erstellen"
  96. CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
  97. /* *********************** Procedure Settings ************************ */
  98. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  99. /* Settings for THIS-PROCEDURE
  100. Type: SmartDialog
  101. Allow: Basic,Browse,DB-Fields,Query,Smart
  102. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  103. Design Page: 1
  104. Other Settings: COMPILE APPSERVER
  105. */
  106. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  107. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB geShopLogin
  108. /* ************************* Included-Libraries *********************** */
  109. {src/adm2/containr.i}
  110. /* _UIB-CODE-BLOCK-END */
  111. &ANALYZE-RESUME
  112. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  113. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  114. /* SETTINGS FOR DIALOG-BOX geShopLogin
  115. FRAME-NAME */
  116. ASSIGN
  117. FRAME geShopLogin:SCROLLABLE = FALSE
  118. FRAME geShopLogin:HIDDEN = TRUE.
  119. /* SETTINGS FOR FILL-IN F_Benutzer IN FRAME geShopLogin
  120. 6 */
  121. /* SETTINGS FOR FILL-IN F_Mail IN FRAME geShopLogin
  122. 6 */
  123. /* SETTINGS FOR FILL-IN F_Passwort IN FRAME geShopLogin
  124. 6 */
  125. /* _RUN-TIME-ATTRIBUTES-END */
  126. &ANALYZE-RESUME
  127. /* Setting information for Queries and Browse Widgets fields */
  128. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX geShopLogin
  129. /* Query rebuild information for DIALOG-BOX geShopLogin
  130. _Options = "SHARE-LOCK"
  131. _Query is NOT OPENED
  132. */ /* DIALOG-BOX geShopLogin */
  133. &ANALYZE-RESUME
  134. /* ************************ Control Triggers ************************ */
  135. &Scoped-define SELF-NAME geShopLogin
  136. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL geShopLogin geShopLogin
  137. ON END-ERROR OF FRAME geShopLogin /* Login für eShop erstellen */
  138. DO:
  139. RUN ENDE.
  140. RETURN NO-APPLY.
  141. END.
  142. /* _UIB-CODE-BLOCK-END */
  143. &ANALYZE-RESUME
  144. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL geShopLogin geShopLogin
  145. ON WINDOW-CLOSE OF FRAME geShopLogin /* Login für eShop erstellen */
  146. DO:
  147. RUN ENDE.
  148. RETURN NO-APPLY.
  149. END.
  150. /* _UIB-CODE-BLOCK-END */
  151. &ANALYZE-RESUME
  152. &Scoped-define SELF-NAME Btn_Cancel
  153. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel geShopLogin
  154. ON CHOOSE OF Btn_Cancel IN FRAME geShopLogin /* abbrechen */
  155. DO:
  156. RUN ENDE.
  157. RETURN NO-APPLY.
  158. END.
  159. /* _UIB-CODE-BLOCK-END */
  160. &ANALYZE-RESUME
  161. &Scoped-define SELF-NAME Btn_OK
  162. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK geShopLogin
  163. ON CHOOSE OF Btn_OK IN FRAME geShopLogin /* OK */
  164. DO:
  165. btnOK = TRUE.
  166. opOK = TRUE.
  167. RUN ENDE.
  168. RETURN NO-APPLY.
  169. END.
  170. /* _UIB-CODE-BLOCK-END */
  171. &ANALYZE-RESUME
  172. &Scoped-define SELF-NAME Btn_Zufall
  173. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Zufall geShopLogin
  174. ON CHOOSE OF Btn_Zufall IN FRAME geShopLogin /* Zufall */
  175. DO:
  176. RUN PASSWORT_GENERIEREN.
  177. END.
  178. /* _UIB-CODE-BLOCK-END */
  179. &ANALYZE-RESUME
  180. &UNDEFINE SELF-NAME
  181. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK geShopLogin
  182. /* *************************** Main Block *************************** */
  183. { incl/dlgmainblock.i }
  184. opOK = FALSE.
  185. {src/adm2/dialogmn.i}
  186. /* _UIB-CODE-BLOCK-END */
  187. &ANALYZE-RESUME
  188. /* ********************** Internal Procedures *********************** */
  189. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects geShopLogin _ADM-CREATE-OBJECTS
  190. PROCEDURE adm-create-objects :
  191. /*------------------------------------------------------------------------------
  192. Purpose: Create handles for all SmartObjects used in this procedure.
  193. After SmartObjects are initialized, then SmartLinks are added.
  194. Parameters: <none>
  195. ------------------------------------------------------------------------------*/
  196. END PROCEDURE.
  197. /* _UIB-CODE-BLOCK-END */
  198. &ANALYZE-RESUME
  199. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI geShopLogin _DEFAULT-DISABLE
  200. PROCEDURE disable_UI :
  201. /*------------------------------------------------------------------------------
  202. Purpose: DISABLE the User Interface
  203. Parameters: <none>
  204. Notes: Here we clean-up the user-interface by deleting
  205. dynamic widgets we have created and/or hide
  206. frames. This procedure is usually called when
  207. we are ready to "clean-up" after running.
  208. ------------------------------------------------------------------------------*/
  209. /* Hide all frames. */
  210. HIDE FRAME geShopLogin.
  211. END PROCEDURE.
  212. /* _UIB-CODE-BLOCK-END */
  213. &ANALYZE-RESUME
  214. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject geShopLogin
  215. PROCEDURE enableObject :
  216. /*------------------------------------------------------------------------------
  217. Purpose: Super Override
  218. Parameters:
  219. Notes:
  220. ------------------------------------------------------------------------------*/
  221. DO WITH FRAME {&FRAME-NAME}:
  222. ASSIGN F_Benutzer = opBenutzer
  223. F_Mail = opMail
  224. F_Passwort = opPasswort.
  225. END.
  226. { incl/dlgenableobject.i }
  227. END PROCEDURE.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI geShopLogin _DEFAULT-ENABLE
  231. PROCEDURE enable_UI :
  232. /*------------------------------------------------------------------------------
  233. Purpose: ENABLE the User Interface
  234. Parameters: <none>
  235. Notes: Here we display/view/enable the widgets in the
  236. user-interface. In addition, OPEN all queries
  237. associated with each FRAME and BROWSE.
  238. These statements here are based on the "Other
  239. Settings" section of the widget Property Sheets.
  240. ------------------------------------------------------------------------------*/
  241. DISPLAY F_Benutzer F_Mail F_Passwort
  242. WITH FRAME geShopLogin.
  243. ENABLE RECT-2 F_Benutzer F_Mail F_Passwort Btn_Zufall Btn_OK Btn_Cancel
  244. WITH FRAME geShopLogin.
  245. VIEW FRAME geShopLogin.
  246. {&OPEN-BROWSERS-IN-QUERY-geShopLogin}
  247. END PROCEDURE.
  248. /* _UIB-CODE-BLOCK-END */
  249. &ANALYZE-RESUME
  250. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE geShopLogin
  251. PROCEDURE ENDE :
  252. /*------------------------------------------------------------------------------
  253. Purpose:
  254. Parameters: <none>
  255. Notes:
  256. ------------------------------------------------------------------------------*/
  257. IF btnOK THEN DO WITH FRAME {&FRAME-NAME}:
  258. ASSIGN {&List-6}.
  259. IF F_Benutzer = '' THEN DO:
  260. APPLY 'ENTRY' TO F_Benutzer.
  261. RETURN NO-APPLY.
  262. END.
  263. IF F_Passwort = '' THEN DO:
  264. APPLY 'ENTRY' TO F_Passwort.
  265. RETURN NO-APPLY.
  266. END.
  267. F_Mail = REPLACE(F_Mail, ',', ';').
  268. IF F_Mail = '' OR
  269. INDEX(F_Mail, '@') = 0 THEN DO:
  270. APPLY 'ENTRY' TO F_Mail.
  271. RETURN NO-APPLY.
  272. END.
  273. ASSIGN opBenutzer = F_Benutzer
  274. opMail = F_Mail
  275. opPasswort = F_Passwort.
  276. END.
  277. { incl/dlgende.i }
  278. END PROCEDURE.
  279. /* _UIB-CODE-BLOCK-END */
  280. &ANALYZE-RESUME
  281. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PASSWORT_GENERIEREN geShopLogin
  282. PROCEDURE PASSWORT_GENERIEREN :
  283. /*------------------------------------------------------------------------------
  284. Purpose:
  285. Parameters: <none>
  286. Notes:
  287. ------------------------------------------------------------------------------*/
  288. DEF VAR ix AS INT NO-UNDO.
  289. DEF VAR ii AS INT NO-UNDO.
  290. DEF VAR i1 AS INT NO-UNDO.
  291. DEF VAR cPasswort AS CHAR INIT '' NO-UNDO.
  292. DEF VAR cAuswahl AS CHAR
  293. INIT 'AaBb0CcDd1EeFf2GgHh3IiJj4KkLl5MmNn6OoPp7QqRr8SsTt9UuVv_WwcPasswort.YyZz'.
  294. DEF VAR cAuswahlNeu AS CHAR no-undo.
  295. i1 = TIME MOD (LENGTH(cAuswahl) / 2).
  296. IF i1 = 0 THEN i1 = 1.
  297. DO ii = 1 TO LENGTH(cAuswahl):
  298. cAuswahlNeu = cAuswahlNeu
  299. + SUBSTRING(cAuswahl,(RANDOM(i1, LENGTH(cAuswahl))), 01).
  300. END.
  301. DO ix = 1 TO 10:
  302. ii = RANDOM(1, LENGTH(cAuswahlNeu)).
  303. cPasswort = cPasswort + SUBSTRING(cAuswahlNeu,ii,01).
  304. END.
  305. DO WITH FRAME {&FRAME-NAME}:
  306. F_Passwort:SCREEN-VALUE = cPasswort.
  307. APPLY 'ENTRY' TO F_Passwort.
  308. RETURN NO-APPLY.
  309. END.
  310. END PROCEDURE.
  311. /* _UIB-CODE-BLOCK-END */
  312. &ANALYZE-RESUME