[FogBugz #501] Synchroniser calendrier avec Google Calendar (GMAIL) #564

Open
opened 2023-07-04 08:36:39 +02:00 by fbenoist68 · 23 comments

Assigned To: CLOSED
Project: Mobile Portal
Area: Divers
Category: Demande
Priority: A fixer impérativement

Assigned To: CLOSED Project: Mobile Portal Area: Divers Category: Demande Priority: A fixer impérativement
Poster
Owner

Event ID: 3368
Date: 2018-04-26T05:36:32Z
Person: Frederik Benoist
Description: Fermé par Frederik Benoist

Event ID: 3368 Date: 2018-04-26T05:36:32Z Person: Frederik Benoist Description: Fermé par Frederik Benoist
Poster
Owner

Event ID: 3367
Date: 2018-04-26T05:36:31Z
Person: Frederik Benoist
Description: Résolu (Répondu) and assigned to Frederik Benoist by Frederik Benoist

Event ID: 3367 Date: 2018-04-26T05:36:31Z Person: Frederik Benoist Description: Résolu (Répondu) and assigned to Frederik Benoist by Frederik Benoist
Poster
Owner

Event ID: 3339
Date: 2018-02-21T14:41:47Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Modification admin profil_utilisateur.html

Event ID: 3339 Date: 2018-02-21T14:41:47Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p>Modification admin profil_utilisateur.html</p> <p><img src="https://gitea.q2ii.fr/attachments/bc69a187-0450-423f-b1f0-93ec13e9ee8e"/></p>
Poster
Owner

Event ID: 3338
Date: 2018-02-21T14:39:38Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Modification admin calendrier_evenement.html

 
Event ID: 3338 Date: 2018-02-21T14:39:38Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p>Modification admin calendrier_evenement.html</p> <div class="form-group"> <div class="col-xs-9 col-lg-9 inputGroupContainer"> <div class="icon-addon addon-md"> <div>&nbsp;<img src="https://gitea.q2ii.fr/attachments/1ab481cd-629e-4cfa-9c82-6263e49ac3fc"/></div> </div> </div> </div>
Poster
Owner

Event ID: 3337
Date: 2018-02-15T16:07:20Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 3337 Date: 2018-02-15T16:07:20Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p><img src="https://gitea.q2ii.fr/attachments/fa6bd1d8-6309-4f00-ad21-1f9589fadb5a"/></p>
Poster
Owner

Event ID: 3336
Date: 2018-02-14T16:26:07Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

https://stackoverflow.com/questions/40015190/change-color-to-an-all-day-event-in-google-calendar-with-apps-script

Event ID: 3336 Date: 2018-02-14T16:26:07Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p>https://stackoverflow.com/questions/40015190/change-color-to-an-all-day-event-in-google-calendar-with-apps-script</p>
Poster
Owner

Event ID: 3335
Date: 2018-02-14T15:19:45Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Exemple de création d'événement :

private String GmailCreateAppointment(Calendar calendarService, String dateBegin, String dateEnd, boolean eventAllDay, String eventType,
            int eventId, String eventSubject, String eventLocation, String eventBody, String eventAttendee, int couleurId) {

        try {
            Event event = new Event()
                    .setSummary("TEST AJOUT VISITE avec Thomas")
                    .setLocation("800 Howard St., San Francisco, CA 94103")
                    .setDescription("A chance to hear more about Google's developer products.");

            DateTime startDateTime = new DateTime("2018-02-14T09:00:00-07:00");
            EventDateTime start = new EventDateTime()
                    .setDateTime(startDateTime)
                    .setTimeZone("America/Los_Angeles");
            event.setStart(start);

            DateTime endDateTime = new DateTime("2018-02-14T17:00:00-07:00");
            EventDateTime end = new EventDateTime()
                    .setDateTime(endDateTime)
                    .setTimeZone("America/Los_Angeles");
            event.setEnd(end);

            String[] recurrence = new String[]{"RRULE:FREQ=DAILY;COUNT=2"};
            event.setRecurrence(Arrays.asList(recurrence));

            EventAttendee[] attendees = new EventAttendee[]{
                new EventAttendee().setEmail("fbenoist@dev.kidilizgroup.com"),
                new EventAttendee().setEmail("tgirardey@dev.kidilizgroup.com"),};
            event.setAttendees(Arrays.asList(attendees));

            EventReminder[] reminderOverrides = new EventReminder[]{
                new EventReminder().setMethod("email").setMinutes(24 * 60),
                new EventReminder().setMethod("popup").setMinutes(10),};
            Event.Reminders reminders = new Event.Reminders()
                    .setUseDefault(false)
                    .setOverrides(Arrays.asList(reminderOverrides));
            event.setReminders(reminders);

            String calendarId = GoogleGetCalendarID(calendarService);
            if (calendarId != null) {
                event = calendarService.events().insert(calendarId, event).execute();
                System.out.printf("Event created: %s\n", event.getHtmlLink());
                System.out.printf("Event ID: %s\n", event.getId());

                return event.getId();
            } else {
                System.out.println("Calendrier non trouvé");
                return "";
            }
        } catch (IOException ex) {
            Logger.getLogger(GMailCalendar.class.getName()).log(Level.SEVERE, null, ex);
            return "";
        }

 

Event ID: 3335 Date: 2018-02-14T15:19:45Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p>Exemple de cr&eacute;ation d&#39;&eacute;v&eacute;nement :</p> <p>private String GmailCreateAppointment(Calendar calendarService, String dateBegin, String dateEnd, boolean eventAllDay, String eventType,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int eventId, String eventSubject, String eventLocation, String eventBody, String eventAttendee, int couleurId) {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Event event = new Event()<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setSummary(&quot;TEST AJOUT VISITE avec Thomas&quot;)<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setLocation(&quot;800 Howard St., San Francisco, CA 94103&quot;)<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setDescription(&quot;A chance to hear more about Google&#39;s developer products.&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateTime startDateTime = new DateTime(&quot;2018-02-14T09:00:00-07:00&quot;);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EventDateTime start = new EventDateTime()<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setDateTime(startDateTime)<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setTimeZone(&quot;America/Los_Angeles&quot;);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.setStart(start);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DateTime endDateTime = new DateTime(&quot;2018-02-14T17:00:00-07:00&quot;);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EventDateTime end = new EventDateTime()<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setDateTime(endDateTime)<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setTimeZone(&quot;America/Los_Angeles&quot;);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.setEnd(end);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String[] recurrence = new String[]{&quot;RRULE:FREQ=DAILY;COUNT=2&quot;};<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.setRecurrence(Arrays.asList(recurrence));</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EventAttendee[] attendees = new EventAttendee[]{<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new EventAttendee().setEmail(&quot;fbenoist@dev.kidilizgroup.com&quot;),<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new EventAttendee().setEmail(&quot;tgirardey@dev.kidilizgroup.com&quot;),};<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.setAttendees(Arrays.asList(attendees));</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EventReminder[] reminderOverrides = new EventReminder[]{<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new EventReminder().setMethod(&quot;email&quot;).setMinutes(24 * 60),<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new EventReminder().setMethod(&quot;popup&quot;).setMinutes(10),};<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Event.Reminders reminders = new Event.Reminders()<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setUseDefault(false)<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .setOverrides(Arrays.asList(reminderOverrides));<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.setReminders(reminders);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String calendarId = GoogleGetCalendarID(calendarService);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (calendarId != null) {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event = calendarService.events().insert(calendarId, event).execute();<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.printf(&quot;Event created: %s\n&quot;, event.getHtmlLink());<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.printf(&quot;Event ID: %s\n&quot;, event.getId());</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return event.getId();<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(&quot;Calendrier non trouv&eacute;&quot;);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &quot;&quot;;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (IOException ex) {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Logger.getLogger(GMailCalendar.class.getName()).log(Level.SEVERE, null, ex);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &quot;&quot;;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;</p>
Poster
Owner

Event ID: 3322
Date: 2018-01-15T08:36:23Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 3322 Date: 2018-01-15T08:36:23Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 3321
Date: 2018-01-15T08:33:24Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 3321 Date: 2018-01-15T08:33:24Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 3320
Date: 2018-01-15T08:16:59Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 3320 Date: 2018-01-15T08:16:59Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 3319
Date: 2018-01-15T08:01:33Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

CREATE SEQUENCE SEQ_ID_CALENDRIER_TYPE

  START WITH 1

  MAXVALUE 999999999999999999999999999

  MINVALUE 1

  NOCYCLE

  NOCACHE

  NOORDER;



CREATE TABLE MP_CALENDRIER_TYPE

(

  ID_CALENDRIER_TYPE      NUMBER              NOT NULL,

  LIBELLE                  VARCHAR2(32 BYTE)    NOT NULL,

  PROVIDER                VARCHAR2(16 BYTE)    NOT NULL,

  PROVIDER_VERSION        VARCHAR2(16 BYTE)    NOT NULL,

  PROVIDER_URL            VARCHAR2(256 BYTE),

  COMPTE_SERVICE_NAME      VARCHAR2(32 BYTE),

  COMPTE_SERVICE_PASSWORD  VARCHAR2(32 BYTE),

  ABANDON                  NUMBER,

  USR_CRELOG              VARCHAR2(20 BYTE)    NOT NULL,

  USR_CREDAT              DATE                NOT NULL,

  USR_MODLOG              VARCHAR2(20 BYTE),

  USR_MODDAT              DATE

)

TABLESPACE USERS

PCTUSED    0

PCTFREE    10

INITRANS  1

MAXTRANS  255

STORAGE    (

            INITIAL          64K

            MINEXTENTS      1

            MAXEXTENTS      UNLIMITED

            PCTINCREASE      0

            BUFFER_POOL      DEFAULT

          )

LOGGING

NOCOMPRESS

NOCACHE

NOPARALLEL

MONITORING;



COMMENT ON TABLE MP_CALENDRIER_TYPE IS 'Type de calendrier (Exchange, Gmail)';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.ID_CALENDRIER_TYPE IS 'PK';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.LIBELLE IS 'Libellé ';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.PROVIDER IS 'Provider (GMAIL,EXCHANGE..) ';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.PROVIDER_VERSION IS 'Version Provider';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.PROVIDER_URL IS 'URL d''acces';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.COMPTE_SERVICE_NAME IS 'Nom compte de service pour délégation';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.COMPTE_SERVICE_PASSWORD IS 'Mot de passe compte de service pour délégation';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.ABANDON IS 'Ligne supprimée ?';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_CRELOG IS 'Audit';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_CREDAT IS 'Audit';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_MODLOG IS 'Audit';



COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_MODDAT IS 'Audit';





CREATE UNIQUE INDEX PK_CALENDRIER_TYPE ON MP_CALENDRIER_TYPE

(ID_CALENDRIER_TYPE)

LOGGING

TABLESPACE USERS

PCTFREE    10

INITRANS  2

MAXTRANS  255

STORAGE    (

            INITIAL          64K

            MINEXTENTS      1

            MAXEXTENTS      UNLIMITED

            PCTINCREASE      0

            BUFFER_POOL      DEFAULT

          )

NOPARALLEL;



CREATE OR REPLACE TRIGGER tr_mp_calendrier_type

    BEFORE INSERT

    ON mp_calendrier_type

    REFERENCING NEW AS new OLD AS old

    FOR EACH ROW

BEGIN

    SELECT seq_id_calendrier_type.NEXTVAL

      INTO :new.id_calendrier_type

      FROM DUAL;

END;

/





ALTER TABLE MP_CALENDRIER_TYPE ADD (

  CONSTRAINT CK01_MP_CALENDRIER_TYPE

  CHECK (PROVIDER IN ('EXCHANGE','GMAIL'))

  ENABLE VALIDATE,

  CONSTRAINT PK_MP_CALENDRIER_TYPE

  PRIMARY KEY

  (ID_CALENDRIER_TYPE)

  USING INDEX PK_CALENDRIER_TYPE

  ENABLE VALIDATE);

Event ID: 3319 Date: 2018-01-15T08:01:33Z Person: Frederik Benoist Description: Modifié par Frederik Benoist CREATE SEQUENCE SEQ_ID_CALENDRIER_TYPE<br /> &nbsp; START WITH 1<br /> &nbsp; MAXVALUE 999999999999999999999999999<br /> &nbsp; MINVALUE 1<br /> &nbsp; NOCYCLE<br /> &nbsp; NOCACHE<br /> &nbsp; NOORDER;<br /> <br /> CREATE TABLE MP_CALENDRIER_TYPE<br /> (<br /> &nbsp; ID_CALENDRIER_TYPE&nbsp; &nbsp; &nbsp; NUMBER&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOT NULL,<br /> &nbsp; LIBELLE&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2(32 BYTE)&nbsp; &nbsp; NOT NULL,<br /> &nbsp; PROVIDER&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2(16 BYTE)&nbsp; &nbsp; NOT NULL,<br /> &nbsp; PROVIDER_VERSION&nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2(16 BYTE)&nbsp; &nbsp; NOT NULL,<br /> &nbsp; PROVIDER_URL&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2(256 BYTE),<br /> &nbsp; COMPTE_SERVICE_NAME&nbsp; &nbsp; &nbsp; VARCHAR2(32 BYTE),<br /> &nbsp; COMPTE_SERVICE_PASSWORD&nbsp; VARCHAR2(32 BYTE),<br /> &nbsp; ABANDON&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NUMBER,<br /> &nbsp; USR_CRELOG&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2(20 BYTE)&nbsp; &nbsp; NOT NULL,<br /> &nbsp; USR_CREDAT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DATE&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOT NULL,<br /> &nbsp; USR_MODLOG&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VARCHAR2(20 BYTE),<br /> &nbsp; USR_MODDAT&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DATE<br /> )<br /> TABLESPACE USERS<br /> PCTUSED&nbsp; &nbsp; 0<br /> PCTFREE&nbsp; &nbsp; 10<br /> INITRANS&nbsp; 1<br /> MAXTRANS&nbsp; 255<br /> STORAGE&nbsp; &nbsp; (<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; INITIAL&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 64K<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MINEXTENTS&nbsp; &nbsp; &nbsp; 1<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MAXEXTENTS&nbsp; &nbsp; &nbsp; UNLIMITED<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PCTINCREASE&nbsp; &nbsp; &nbsp; 0<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BUFFER_POOL&nbsp; &nbsp; &nbsp; DEFAULT<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )<br /> LOGGING <br /> NOCOMPRESS <br /> NOCACHE<br /> NOPARALLEL<br /> MONITORING;<br /> <br /> COMMENT ON TABLE MP_CALENDRIER_TYPE IS &#39;Type de calendrier (Exchange, Gmail)&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.ID_CALENDRIER_TYPE IS &#39;PK&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.LIBELLE IS &#39;Libell&#233; &#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.PROVIDER IS &#39;Provider (GMAIL,EXCHANGE..) &#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.PROVIDER_VERSION IS &#39;Version Provider&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.PROVIDER_URL IS &#39;URL d&#39;&#39;acces&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.COMPTE_SERVICE_NAME IS &#39;Nom compte de service pour d&#233;l&#233;gation&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.COMPTE_SERVICE_PASSWORD IS &#39;Mot de passe compte de service pour d&#233;l&#233;gation&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.ABANDON IS &#39;Ligne supprim&#233;e ?&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_CRELOG IS &#39;Audit&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_CREDAT IS &#39;Audit&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_MODLOG IS &#39;Audit&#39;;<br /> <br /> COMMENT ON COLUMN MP_CALENDRIER_TYPE.USR_MODDAT IS &#39;Audit&#39;;<br /> <br /> <br /> CREATE UNIQUE INDEX PK_CALENDRIER_TYPE ON MP_CALENDRIER_TYPE<br /> (ID_CALENDRIER_TYPE)<br /> LOGGING<br /> TABLESPACE USERS<br /> PCTFREE&nbsp; &nbsp; 10<br /> INITRANS&nbsp; 2<br /> MAXTRANS&nbsp; 255<br /> STORAGE&nbsp; &nbsp; (<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; INITIAL&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 64K<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MINEXTENTS&nbsp; &nbsp; &nbsp; 1<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MAXEXTENTS&nbsp; &nbsp; &nbsp; UNLIMITED<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PCTINCREASE&nbsp; &nbsp; &nbsp; 0<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BUFFER_POOL&nbsp; &nbsp; &nbsp; DEFAULT<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )<br /> NOPARALLEL;<br /> <br /> CREATE OR REPLACE TRIGGER tr_mp_calendrier_type<br /> &nbsp; &nbsp; BEFORE INSERT<br /> &nbsp; &nbsp; ON mp_calendrier_type<br /> &nbsp; &nbsp; REFERENCING NEW AS new OLD AS old<br /> &nbsp; &nbsp; FOR EACH ROW<br /> BEGIN<br /> &nbsp; &nbsp; SELECT seq_id_calendrier_type.NEXTVAL<br /> &nbsp; &nbsp; &nbsp; INTO :new.id_calendrier_type<br /> &nbsp; &nbsp; &nbsp; FROM DUAL;<br /> END;<br /> /<br /> <br /> <br /> ALTER TABLE MP_CALENDRIER_TYPE ADD (<br /> &nbsp; CONSTRAINT CK01_MP_CALENDRIER_TYPE<br /> &nbsp; CHECK (PROVIDER IN (&#39;EXCHANGE&#39;,&#39;GMAIL&#39;))<br /> &nbsp; ENABLE VALIDATE,<br /> &nbsp; CONSTRAINT PK_MP_CALENDRIER_TYPE<br /> &nbsp; PRIMARY KEY<br /> &nbsp; (ID_CALENDRIER_TYPE)<br /> &nbsp; USING INDEX PK_CALENDRIER_TYPE<br /> &nbsp; ENABLE VALIDATE);<br />
Poster
Owner

Event ID: 3318
Date: 2018-01-15T08:00:12Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

ALTER TABLE mobretail.mr_utilisateur

    RENAME COLUMN date_synchro_exchange TO date_synchro_calendrier

/



COMMENT ON COLUMN mobretail.mr_utilisateur.date_synchro_calendrier IS

    'Date de début synchronisation avec calendrier'



ALTER TABLE mobretail.mr_visite

    RENAME COLUMN exchange_date_synchro TO calendrier_date_synchro

/



ALTER TABLE mobretail.mr_visite

    RENAME COLUMN exchange_id TO calendrier_id

/





COMMENT ON COLUMN mobretail.mr_visite.calendrier_date_synchro IS

    'Date de synchronisation calendrier'

/



COMMENT ON COLUMN mobretail.mr_visite.calendrier_id IS 'ID unique calendrier'



ALTER TABLE MOBRETAIL.MR_CALENDRIER_PLANNING

RENAME COLUMN EXCHANGE_DATE_SYNCHRO TO CALENDRIER_DATE_SYNCHRO

/



ALTER TABLE MOBRETAIL.MR_CALENDRIER_PLANNING

RENAME COLUMN EXCHANGE_ID TO CALENDRIER_ID

/





COMMENT ON COLUMN MOBRETAIL.MR_CALENDRIER_PLANNING.CALENDRIER_DATE_SYNCHRO IS 'Date de synchronisation calendrier'

/



COMMENT ON COLUMN MOBRETAIL.MR_CALENDRIER_PLANNING.CALENDRIER_ID IS 'ID unique calendrier'

/



/ALTER TABLE mobretail.mr_utilisateur

    ADD (id_calendrier_type NUMBER DEFAULT 1);



ALTER TABLE mobretail.mr_utilisateur

    ADD CONSTRAINT fk01_mr_utilisateur FOREIGN KEY (id_calendrier_type)

        REFERENCES mobretail.mp_calendrier_type (id_calendrier_type)

        ENABLE VALIDATE;



COMMENT ON COLUMN mobretail.mr_utilisateur.id_calendrier_type IS

    'Type  de calendrier (Exchange, Gmail ...)';

Event ID: 3318 Date: 2018-01-15T08:00:12Z Person: Frederik Benoist Description: Modifié par Frederik Benoist ALTER TABLE mobretail.mr_utilisateur<br /> &nbsp; &nbsp; RENAME COLUMN date_synchro_exchange TO date_synchro_calendrier<br /> /<br /> <br /> COMMENT ON COLUMN mobretail.mr_utilisateur.date_synchro_calendrier IS<br /> &nbsp; &nbsp; &#39;Date de d&#233;but synchronisation avec calendrier&#39;<br /> <br /> ALTER TABLE mobretail.mr_visite<br /> &nbsp; &nbsp; RENAME COLUMN exchange_date_synchro TO calendrier_date_synchro<br /> /<br /> <br /> ALTER TABLE mobretail.mr_visite<br /> &nbsp; &nbsp; RENAME COLUMN exchange_id TO calendrier_id<br /> /<br /> <br /> <br /> COMMENT ON COLUMN mobretail.mr_visite.calendrier_date_synchro IS<br /> &nbsp; &nbsp; &#39;Date de synchronisation calendrier&#39;<br /> /<br /> <br /> COMMENT ON COLUMN mobretail.mr_visite.calendrier_id IS &#39;ID unique calendrier&#39;<br /> <br /> ALTER TABLE MOBRETAIL.MR_CALENDRIER_PLANNING<br /> RENAME COLUMN EXCHANGE_DATE_SYNCHRO TO CALENDRIER_DATE_SYNCHRO<br /> /<br /> <br /> ALTER TABLE MOBRETAIL.MR_CALENDRIER_PLANNING<br /> RENAME COLUMN EXCHANGE_ID TO CALENDRIER_ID<br /> /<br /> <br /> <br /> COMMENT ON COLUMN MOBRETAIL.MR_CALENDRIER_PLANNING.CALENDRIER_DATE_SYNCHRO IS &#39;Date de synchronisation calendrier&#39;<br /> /<br /> <br /> COMMENT ON COLUMN MOBRETAIL.MR_CALENDRIER_PLANNING.CALENDRIER_ID IS &#39;ID unique calendrier&#39;<br /> /<br /> <br /> /ALTER TABLE mobretail.mr_utilisateur<br /> &nbsp; &nbsp; ADD (id_calendrier_type NUMBER DEFAULT 1);<br /> <br /> ALTER TABLE mobretail.mr_utilisateur<br /> &nbsp; &nbsp; ADD CONSTRAINT fk01_mr_utilisateur FOREIGN KEY (id_calendrier_type)<br /> &nbsp; &nbsp; &nbsp; &nbsp; REFERENCES mobretail.mp_calendrier_type (id_calendrier_type)<br /> &nbsp; &nbsp; &nbsp; &nbsp; ENABLE VALIDATE;<br /> <br /> COMMENT ON COLUMN mobretail.mr_utilisateur.id_calendrier_type IS<br /> &nbsp; &nbsp; &#39;Type&nbsp; de calendrier (Exchange, Gmail ...)&#39;;
Poster
Owner

Event ID: 3308
Date: 2017-11-24T04:52:44Z
Person: Frederik Benoist
Description: Réouvert (attribué à Frederik Benoist) par Frederik Benoist

Kidiliz passant sur GMAIL PRO, il faut pouvoir assurer la synchronisation avec GMAIL.

Event ID: 3308 Date: 2017-11-24T04:52:44Z Person: Frederik Benoist Description: Réouvert (attribué à Frederik Benoist) par Frederik Benoist <p>Kidiliz passant sur GMAIL PRO, il faut pouvoir assurer la synchronisation avec GMAIL.</p>
Poster
Owner

Event ID: 2294
Date: 2016-09-27T08:38:04Z
Person: Frederik Benoist
Description: Fermé par Frederik Benoist

Event ID: 2294 Date: 2016-09-27T08:38:04Z Person: Frederik Benoist Description: Fermé par Frederik Benoist
Poster
Owner

Event ID: 2293
Date: 2016-09-27T08:38:03Z
Person: Frederik Benoist
Description: Résolu (Ne Sera Pas Implémenté) and assigned to Frederik Benoist by Frederik Benoist

J'ai réussi à synchroniser avec outlook. C'est préférable pour les utilisateurs

Event ID: 2293 Date: 2016-09-27T08:38:03Z Person: Frederik Benoist Description: R&#233;solu (Ne Sera Pas Impl&#233;ment&#233;) and assigned to Frederik Benoist by Frederik Benoist <p> J&#39;ai r&eacute;ussi &agrave; synchroniser avec outlook. C&#39;est pr&eacute;f&eacute;rable pour les utilisateurs</p>
Poster
Owner

Event ID: 2285
Date: 2016-09-20T15:23:18Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 2285 Date: 2016-09-20T15:23:18Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 2284
Date: 2016-09-20T15:16:32Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Synchroniser outlook et google calendar

https://support.office.com/fr-fr/article/Afficher-votre-Calendrier-Google-dans-Outlook-c1dab514-0ad4-4811-824a-7d02c5e77126

https://outlookgooglecalendarsync.codeplex.com/

 

Event ID: 2284 Date: 2016-09-20T15:16:32Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p> Synchroniser outlook et google calendar</p> <p> https://support.office.com/fr-fr/article/Afficher-votre-Calendrier-Google-dans-Outlook-c1dab514-0ad4-4811-824a-7d02c5e77126</p> <p> https://outlookgooglecalendarsync.codeplex.com/</p> <p> &nbsp;</p>
Poster
Owner

Event ID: 2283
Date: 2016-09-18T15:52:37Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 2283 Date: 2016-09-18T15:52:37Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 2282
Date: 2016-09-18T14:07:19Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 2282 Date: 2016-09-18T14:07:19Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 2281
Date: 2016-09-18T14:01:25Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Event ID: 2281 Date: 2016-09-18T14:01:25Z Person: Frederik Benoist Description: Modifié par Frederik Benoist
Poster
Owner

Event ID: 2280
Date: 2016-09-18T14:00:48Z
Person: Frederik Benoist
Description: Modifié par Frederik Benoist

Nouvelle authentification

<!-- google sign-in -->
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="1086528256899-vnen96sda6l52pcrmplkr2dvnkbl8rc0.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer></script>

function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log('Full Name: ' + profile.getName());
console.log('Given Name: ' + profile.getGivenName());
console.log('Family Name: ' + profile.getFamilyName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());

// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
console.log("ID Token: " + id_token);
}

function initAuth() {
gapi.client.setApiKey('h286y9YWW8hE6w37wUpNy5Vk');
gapi.auth2.init({ client_id: '1086528256899-vnen96sda6l52pcrmplkr2dvnkbl8rc0.apps.googleusercontent.com',
scope: ["https://www.googleapis.com/auth/calendar"] });
}

function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {
console.log('User signed out.');
});
}

<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div>
<a href="#" onclick="signOut();">Sign out</a>

gapi.load('client:auth2', initAuth)

Event ID: 2280 Date: 2016-09-18T14:00:48Z Person: Frederik Benoist Description: Modifié par Frederik Benoist <p> Nouvelle authentification</p> <pre> &lt;!-- google sign-in --&gt; &lt;meta name=&quot;google-signin-scope&quot; content=&quot;profile email&quot;&gt; &lt;meta name=&quot;google-signin-client_id&quot; content=&quot;1086528256899-vnen96sda6l52pcrmplkr2dvnkbl8rc0.apps.googleusercontent.com&quot;&gt; &lt;script src=&quot;https://apis.google.com/js/platform.js&quot; async defer&gt;&lt;/script&gt; function onSignIn(googleUser) { // Useful data for your client-side scripts: var profile = googleUser.getBasicProfile(); console.log(&quot;ID: &quot; + profile.getId()); // Don&#39;t send this directly to your server! console.log(&#39;Full Name: &#39; + profile.getName()); console.log(&#39;Given Name: &#39; + profile.getGivenName()); console.log(&#39;Family Name: &#39; + profile.getFamilyName()); console.log(&quot;Image URL: &quot; + profile.getImageUrl()); console.log(&quot;Email: &quot; + profile.getEmail()); // The ID token you need to pass to your backend: var id_token = googleUser.getAuthResponse().id_token; console.log(&quot;ID Token: &quot; + id_token); } function initAuth() { gapi.client.setApiKey(&#39;h286y9YWW8hE6w37wUpNy5Vk&#39;); gapi.auth2.init({ client_id: &#39;1086528256899-vnen96sda6l52pcrmplkr2dvnkbl8rc0.apps.googleusercontent.com&#39;, scope: [&quot;https://www.googleapis.com/auth/calendar&quot;] }); } function signOut() { var auth2 = gapi.auth2.getAuthInstance(); auth2.signOut().then(function () { console.log(&#39;User signed out.&#39;); }); } &lt;div class=&quot;g-signin2&quot; data-onsuccess=&quot;onSignIn&quot; data-theme=&quot;dark&quot;&gt;&lt;/div&gt; &lt;a href=&quot;#&quot; onclick=&quot;signOut();&quot;&gt;Sign out&lt;/a&gt; gapi.load(&#39;client:auth2&#39;, initAuth)</pre>
Poster
Owner

Event ID: 2279
Date: 2016-09-18T13:59:25Z
Person: Frederik Benoist
Description: Attribué à Frederik Benoist par Frederik Benoist

Event ID: 2279 Date: 2016-09-18T13:59:25Z Person: Frederik Benoist Description: Attribué à Frederik Benoist par Frederik Benoist
Poster
Owner

Event ID: 2278
Date: 2016-09-18T13:59:25Z
Person: Frederik Benoist
Description: Ouvert par Frederik Benoist

Event ID: 2278 Date: 2016-09-18T13:59:25Z Person: Frederik Benoist Description: Ouvert par Frederik Benoist
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: fbenoist68/mobileportal#564
There is no content yet.