| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
-
- /*------------------------------------------------------------------------
- File : adresse_dict
- Purpose :
- Syntax :
- Description :
- Author(s) : walter.riechsteiner
- Created : Thu Jun 26 13:56:20 CEST 2025
- Notes :
- ----------------------------------------------------------------------*/
-
- BLOCK-LEVEL ON ERROR UNDO, THROW.
- USING OpenEdge.Core.String FROM PROPATH.
- USING OpenEdge.Net.HTTP.IHttpResponse FROM PROPATH.
- USING OpenEdge.Net.HTTP.StatusCodeEnum FROM PROPATH.
- USING OpenEdge.Web.IWebRequest FROM PROPATH.
- USING OpenEdge.Web.WebHandler FROM PROPATH.
- USING OpenEdge.Web.WebResponseWriter FROM PROPATH.
- USING Progress.Json.ObjectModel.JsonObject FROM PROPATH.
- USING Progress.Json.ObjectModel.JsonArray FROM PROPATH.
- USING src.ch.adprime.gemis.WebHandlerUtilities FROM PROPATH.
- USING utilities.utilitiesHandler FROM PROPATH.
- CLASS formdesigner.initialDataImpl INHERITS WebHandler:
- DEFINE VARIABLE outilitiesHandler AS utilitiesHandler NO-UNDO.
-
- DEFINE TEMP-TABLE tcompanies
- SERIALIZE-NAME 'companies'
- FIELD company AS CHARACTER SERIALIZE-NAME 'company'
- FIELD company_name AS CHARACTER SERIALIZE-NAME 'company_name'
- .
- DEFINE VARIABLE htcompanies AS HANDLE NO-UNDO.
-
- DEFINE TEMP-TABLE tusers
- SERIALIZE-NAME 'users'
- FIELD user_name AS CHARACTER SERIALIZE-NAME 'user-name'
- FIELD display_name AS CHARACTER SERIALIZE-NAME 'display_name'
- .
- DEFINE VARIABLE htusers AS HANDLE NO-UNDO.
-
- DEFINE TEMP-TABLE tlanguages
- SERIALIZE-NAME 'languages'
- FIELD language_id AS INTEGER SERIALIZE-NAME 'id'
- FIELD language_name AS CHARACTER SERIALIZE-NAME 'text'
- .
- DEFINE VARIABLE htlanguages AS HANDLE NO-UNDO.
-
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- METHOD OVERRIDE PROTECTED INTEGER HandleGet (INPUT poRequest AS IWebRequest ):
- DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.
- DEFINE VARIABLE oWriter AS WebResponseWriter NO-UNDO.
- DEFINE VARIABLE oBody AS String NO-UNDO.
- DEFINE VARIABLE oJsonArray AS JsonArray NO-UNDO.
- DEFINE VARIABLE oJsonMandant AS JsonObject NO-UNDO.
- DEFINE VARIABLE oJsonBenutzer AS JsonObject NO-UNDO.
- DEFINE VARIABLE oJsonlanguages AS JsonObject NO-UNDO.
- DEFINE VARIABLE cDefautlCharSet AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cContentType AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cCorralationId AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE lcJsonInhalt AS LONGCHAR NO-UNDO.
- DEFINE VARIABLE ccompany AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
-
- MESSAGE 'start get'.
-
- EMPTY TEMP-TABLE tcompanies .
- EMPTY TEMP-TABLE tusers.
- EMPTY TEMP-TABLE tlanguages .
-
- ii = 0.
- FOR EACH companies NO-LOCK
- WHERE companies.active = TRUE:
- ii = ii + 1.
-
- CREATE tcompanies.
- BUFFER-COPY companies TO tcompanies.
- IF ii = 1 THEN ccompany = companies.company.
- END.
-
- CREATE tusers.
- ASSIGN
- tusers.user_name = 'Admin'
- tusers.display_name = 'alle Benutzer (Default/admin)'.
- FOR EACH users NO-LOCK
- WHERE users.company = ccompany:
-
- IF users.user_name = 'Admin' THEN NEXT.
-
- CREATE tusers.
- BUFFER-COPY users TO tusers.
- END.
-
- FOR EACH languages NO-LOCK:
- CREATE tlanguages.
- BUFFER-COPY LANGUAGES TO tlanguages.
- END.
-
- cContentType = 'application/json'.
- cDefautlCharSet = 'utf-8'.
- oJsonMandant = NEW JsonObject().
- oJsonBenutzer = NEW JsonObject().
- oJsonlanguages = NEW JsonObject().
-
- htcompanies = TEMP-TABLE tcompanies:DEFAULT-BUFFER-HANDLE.
- htusers = TEMP-TABLE tusers :DEFAULT-BUFFER-HANDLE.
- htlanguages = TEMP-TABLE tlanguages:DEFAULT-BUFFER-HANDLE.
- outilitiesHandler = NEW utilitiesHandler ().
- htcompanies :WRITE-JSON("JsonObject", oJsonMandant ).
- htusers:WRITE-JSON("JsonObject", oJsonBenutzer).
- htlanguages :WRITE-JSON("JsonObject", oJsonlanguages ).
- lcJsonInhalt
- = CHR(123) /* "{" */
- + outilitiesHandler:trimStructure(INPUT oJsonMandant)
- + ', '
- + outilitiesHandler:trimStructure(INPUT oJsonBenutzer)
- + ', '
- + outilitiesHandler:trimStructure(INPUT oJsonlanguages)
- + CHR(125). /* "}" */
- oBody = NEW String(lcJsonInhalt).
- MESSAGE STRING(oBody).
-
- WebHandlerUtilities:createHttpResponse(INPUT INTEGER(StatusCodeEnum:OK), INPUT oBody, INPUT cContentType, INPUT cDefautlCharSet, INPUT cCorralationID, OUTPUT oResponse).
-
- oWriter = NEW WebResponseWriter(oResponse).
- oWriter:Open().
- oWriter:Close().
-
- RETURN 0.
-
- CATCH e AS Progress.Lang.Error:
- END CATCH.
- FINALLY:
- DELETE OBJECT oJsonMandant .
- DELETE OBJECT oJsonBenutzer .
- DELETE OBJECT oJsonlanguages .
- DELETE OBJECT outilitiesHandler.
- END FINALLY.
- END METHOD.
- METHOD OVERRIDE PROTECTED INTEGER HandleNotAllowedMethod(INPUT poRequest AS IWebRequest):
- DEFINE VARIABLE result AS INTEGER NO-UNDO.
- MESSAGE "HandleNotAllowedMethod called" VIEW-AS ALERT-BOX.
- RETURN result.
- END METHOD.
- METHOD OVERRIDE PROTECTED INTEGER HandleNotImplemented(INPUT poRequest AS IWebRequest):
- DEFINE VARIABLE result AS INTEGER NO-UNDO.
- MESSAGE "HandleNotImplemented called" VIEW-AS ALERT-BOX.
- RETURN result.
- END METHOD.
- END CLASS.
|