github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/frontend/bv/src/pages/inscription/complet/tabs/TabConclu.vue (about)

     1  <template>
     2    <div>
     3      <b-form
     4        novalidate
     5        :validated="validated"
     6        ref="form"
     7        v-if="conclusion != null"
     8      >
     9        <b-card class="my-1" border-variant="secondary" title="Autorisations">
    10          <b-card-text>
    11            <b-form-row>
    12              <b-col>
    13                <b-form-checkbox disabled :checked="true">
    14                  Pour chaque participant dont j'ai la responsabilité j'autorise,
    15                  en cas de nécessité :
    16                  <ul>
    17                    <li>le transport dans les véhicules de l'association.</li>
    18                    <li>
    19                      l'appel aux soins légaux de médecine et de chirurgie et je
    20                      m'engage à rembourser les frais avancés par l'ACVE.
    21                    </li>
    22                  </ul>
    23                </b-form-checkbox>
    24              </b-col>
    25            </b-form-row>
    26            <b-form-row class="mb-2">
    27              <b-col>
    28                <b-form-checkbox v-model="conclusion.partage_adresses_ok">
    29                  J’autorise la diffusion de mes <b>coordonnées</b> (adresse mail
    30                  et commune) auprès des <b>familles inscrites</b> à ce séjour
    31                  afin de faciliter l’organisation d’éventuels covoiturages.
    32                </b-form-checkbox>
    33              </b-col>
    34            </b-form-row>
    35            <b-form-row>
    36              <b-col>
    37                <b-form-checkbox disabled :checked="true">
    38                  Dans le cadre des activités de l'association, des
    39                  <b>photographies ou des séquences vidéo</b> pourront être
    40                  faites.
    41                  <br />
    42                  J'autorise la diffusion <i>restreinte</i> de ces souvenirs, sur
    43                  une plateforme protégée, le site internet ou les brochures
    44                  papier.
    45                  <br />
    46                </b-form-checkbox>
    47              </b-col>
    48            </b-form-row>
    49            <b-alert variant="info" :show="true" class="my-2" dismissible>
    50              Sur ma demande, l'ACVE s'engage à retirer dans les plus brefs délais
    51              toute photo ou vidéo qu’elle aurait publiée. Pour cela, je peux le
    52              spécifier en envoyant un mail à
    53              <a href="mailto:contact@acve.asso.fr">contact@acve.asso.fr</a>.
    54            </b-alert>
    55          </b-card-text>
    56        </b-card>
    57        <b-card
    58          class="my-1"
    59          border-variant="secondary"
    60          title="Contacts additionnels"
    61          sub-title="Vous pouvez ajouter ici des adresses mails, qui seront mises en copies des courriels concernant votre inscription."
    62        >
    63          <b-card-text>
    64            <liste-strings
    65              label="Mails"
    66              v-model="conclusion.copies_mails"
    67              :validator="mailValidator"
    68              validatorFeedback="L'adresse mail semble invalide"
    69            ></liste-strings>
    70          </b-card-text>
    71        </b-card>
    72        <b-card class="my-1" border-variant="secondary" title="Message">
    73          <b-card-text>
    74            <string-field
    75              v-model="conclusion.info"
    76              textarea
    77              label="Une question, un souhait ... ?"
    78              placeholder="Informations complémentaires..."
    79            ></string-field>
    80          </b-card-text>
    81        </b-card>
    82      </b-form>
    83  
    84      <b-row>
    85        <b-col cols="3">
    86          <b-button variant="warning" class="mt-2" @click="$emit('cancel')">
    87            Retour
    88          </b-button>
    89        </b-col>
    90        <b-col cols="9" class="text-right">
    91          <btn
    92            label="Enregistrer mon inscription"
    93            variant="primary"
    94            block
    95            @click="onValid"
    96          ></btn>
    97        </b-col>
    98      </b-row>
    99    </div>
   100  </template>
   101  
   102  <script lang="ts">
   103  import Vue from "vue";
   104  import Component from "vue-class-component";
   105  
   106  import Btn from "../../../../shared/Btn.vue";
   107  import StringField from "../../../../shared/fields/StringField.vue";
   108  import ListeStrings from "../../../../shared/fields/ListeStrings.vue";
   109  import { ConclusionInscription } from "../types";
   110  import { ValidEvent } from "../../../../shared/utils";
   111  import { isEmailValid } from "../../../../shared/logic/utils";
   112  
   113  const TabConcluProps = Vue.extend({
   114    props: {
   115      conclusion: Object as () => ConclusionInscription | null
   116    },
   117    model: {
   118      prop: "conclusion",
   119      event: "change"
   120    }
   121  });
   122  @Component({
   123    components: { Btn, StringField, ListeStrings }
   124  })
   125  export default class TabConclu extends TabConcluProps {
   126    validated = false;
   127  
   128    mailValidator = isEmailValid;
   129  
   130    onValid(ev: ValidEvent) {
   131      this.$emit("valid", ev);
   132    }
   133  }
   134  </script>
   135  
   136  <style scoped></style>