page.sheet.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. global $myFirm;
  3. User::check_access('example','read');
  4. require_once(__DIR__.SLASH.'Contact.class.php');
  5. $contact = Contact::provide();
  6. ?>
  7. <div class="container-small">
  8. <br>
  9. <label for="label">Composant Card</label>
  10. <small class="text-muted"> (Span data-type="card")</small>
  11. <h3>Fiche du contact <span data-type="card" data-show-delay="800" data-action="example_contact_card" data-parameters='<?php echo json_encode(array('id'=>$contact->id)); ?>'><?php echo html_decode_utf8($contact->label); ?></span></h3>
  12. <br>
  13. <form class="row" method="POST" enctype="multipart/form-data" id="contactForm" data-action="contact_save" data-id="<?php echo $contact->id; ?>">
  14. <div class="col-xl-12">
  15. <label for="label">Libellé</label>
  16. <small class="text-muted"> (Simple input texte)</small>
  17. <input type="text" value="<?php echo html_decode_utf8($contact->label); ?>" placeholder="Raison sociale ou nom" class="form-control" id="label" name="label"/>
  18. <br>
  19. <label for="phone">Téléphone</label>
  20. <small class="text-muted"> (Simple input texte)</small>
  21. <input type="text" value="<?php echo $contact->phone; ?>" placeholder="N° Téléphone" class="form-control" id="phone" name="phone"/>
  22. <br>
  23. <label for="birth">Date de naissance</label>
  24. <small class="text-muted"> (Input data-type="date")</small>
  25. <input type="text" data-type="date" value="<?php echo $contact->birth!=0?date('d/m/Y',$contact->birth):''; ?>" placeholder="La date de naissance" class="form-control" id="birth" name="birth"/>
  26. <br>
  27. <label for="hour">Heure de naissance</label>
  28. <small class="text-muted"> (Input data-type="hour")</small>
  29. <input type="text" data-type="hour" value="<?php echo $contact->hour!=0?date('H:i',$contact->hour):''; ?>" data-step="20" placeholder="L'heure de naissance" class="form-control" id="hour" name="hour"/>
  30. <br>
  31. <label for="author">Auteur</label>
  32. <small class="text-muted" data-placement="right" data-tooltip="* data-multiple : Autorise l'utilisateur a sélectionner des entité multiples" data-tooltip="* data-types (default: user) : définis les entité sélectionnables (ex: user,rank) "> (Input data-type="user")</small>
  33. <input type="text" data-type="user" data-multiple data-types="user,rank" value="<?php echo $contact->author; ?>" placeholder="Auteur du contact" class="form-control" id="author" name="author"/>
  34. <br>
  35. <label for="picture">Image</label>
  36. <small class="text-muted"> (Input data-type="image")</small>
  37. <input type="file" data-type="image" value="<?php echo $contact->picture(); ?>" class="form-control-file" id="picture" name="picture" data-delete="contact_avatar_delete(this)" data-default-src="img/default-avatar.png">
  38. <br>
  39. <label for="icon">Icône</label>
  40. <small class="text-muted"> (Input data-type="icon")</small>
  41. <span class="icon-chooser contact-icon" id="basic-addon-icon-contact">
  42. <input id="icon" data-type="icon" name="icon" class="form-control" placeholder="Icône du contact" value="<?php echo !empty($contact->icon) ? $contact->icon : 'fab fa-btc'; ?>" type="text"></span>
  43. <br>
  44. <label for="vehicle">Véhicule</label>
  45. <small class="text-muted" data-placement="right" data-tooltip="* data-depth : nb de profondeur de liste
  46. * data-slug : le slug de la liste mère à afficher
  47. * data-value : la valeur de l'entité à récup en base
  48. * data-disable-label : cache le label de sous-liste si mentionné">(Select data-type="dictionnary")</small>
  49. <select data-type="dictionnary" data-slug="vehicles" data-depth="3" data-value="<?php echo $contact->vehicle; ?>" class="form-control select-control" name="vehicle" id="vehicle"></select>
  50. <label for="vehicle2">Véhicule (tags)</label>
  51. <small class="text-muted" data-placement="right" data-tooltip="* data-multiple : Autorise l'utilisateur a sélectionner des tag multiples
  52. * data-slug : le slug de la liste mère à afficher">(Select data-type="tag-list")</small>
  53. <input type="text" data-type="tag-list" data-slug="vehicles" class="form-control" />
  54. <label for="vehicle2">Catégories</label>
  55. <small class="text-muted" data-placement="right" data-tooltip="* data-tags (json) :tags disponibles (eg.
  56. {
  57. 'bug':{'icon':'fas fa-bug','label':'Bug','color':'#cb2431'},
  58. 'feature':{'icon':'fas fa-check','label':'Demande','color':'#2cbe4e'}
  59. }
  60. )">(Select data-type="tagcloud")</small>
  61. <input type="text" data-type="tagcloud" data-tags='{"bug":{"icon":"fas fa-bug","label":"Bug","color":"#cb2431"},"feature":{"icon":"fas fa-check","label":"Demande","color":"#2cbe4e"},"question":{"icon":"far fa-question-circle","label":"Question","color":"#00BCD4"}}' class="form-control" value="bug,question"/>
  62. <label for="country">Pays</label>
  63. <small class="text-muted">(Select data-type="dictionnary")</small>
  64. <select data-type="dictionnary" data-slug="countries" data-depth="3" data-id="country" data-value="" class="form-control select-control" name="country" id="country"></select>
  65. <br>
  66. <label for="country">Etat</label>
  67. <small data-tooltip="* data-icon : l'icone affichée près du label (optionnel)" class="text-muted">(Select data-type="dropdown-select")</small><br/>
  68. <select data-type="dropdown-select" id="state">
  69. <option selected="selected" value="active" style="background-color:#2cbe4e;color:#ffffff;" data-icon="far fa-check-circle">Actif</option>
  70. <option value="inactive" style="background-color:#c90000;color:#ffffff;" data-icon="far fa-times-circle">Inactif</option>
  71. </select><br/>
  72. <label for="address">Adresse</label>
  73. <small class="text-muted"> (Input data-type="location")</small>
  74. <input type="text" data-type="location" data-input-city="#city" data-input-latitude="#latitude" value="<?php echo $contact->address; ?>" class="form-control" id="address" name="address"/>
  75. Ville : <span id="city">...</span><br>
  76. Latitude : <span id="latitude">...</span>
  77. <br><br>
  78. <label for="document">Documents</label>
  79. <small class="text-muted" data-placement="right" data-tooltip="* data-label : le label affiché dans la zone
  80. * data-delete : méthode de suppression de doc de l'entité
  81. * data-preview : Affiche l'apercu de l'image si possible
  82. * data-readonly : false/true Active désactive la possibilité d'envoyer du fichier
  83. * data-allowed : les extensions de fichier acceptées"> (Div data-type="dropzone")</small>
  84. <div data-type="dropzone" data-label="Faites glisser vos documents ici" data-delete="contact_delete_document" data-save="contact_add_document" data-allowed="docx,pdf,txt,jpg,bmp,gif,xlsx,png,iso" class="form-control" id="document" name="document">
  85. <?php echo json_encode($contact->documents()); ?>
  86. <!-- Template action custom pour la dropzone -->
  87. <div class="btn dropzone-custom-button hidden" onclick="alert('Je suis le fichier '+$(this).prev('a').text()+ '. Je vaux '+Math.floor((Math.random() * 10) + 1)+' bitcoins');" title="Une action custom" id="send-offer-button"><i class="fab fa-bitcoin"></i></div>
  88. </div>
  89. <br>
  90. <label for="story">Histoire</label>
  91. <small class="text-muted"> (Textarea data-type="wysiwyg")</small>
  92. <textarea data-type="wysiwyg" class="form-control" id="story" name="story"><?php echo $contact->story; ?></textarea>
  93. <br>
  94. <label for="login">Login</label>
  95. <small class="text-muted"> (Simple input texte)</small>
  96. <input type="text" value="<?php echo $contact->login; ?>" placeholder="Identifiant" class="form-control" id="login" name="login"/>
  97. <br>
  98. <label for="password">Password</label>
  99. <small class="text-muted"> (Input data-type="password")</small>
  100. <input type="text" data-type="password" data-toggle-event="hover" value="<?php echo $contact->password; ?>" placeholder="Mot de passe" class="form-control" id="password" name="password"/>
  101. <br>
  102. <label for="contact">Nom du tuteur :</label>
  103. <small class="text-muted"> (Div data-type="quickform")</small>
  104. <div style="display: inline-block;" class="quickform" data-type="quickform" data-title="Ajout rapide de tuteur :" data-loaded="example_quickform_buttons" data-warning="Ajoutez rapidement un tuteur." data-url="plugin/example/page.quick.example.php"><i class="fas fa-user-plus"></i></div>
  105. <input type="text" value="" placeholder="Nom du contact" class="form-control" id="contact" name="contact"/>
  106. <br>
  107. <label for="label">Donuts</label>
  108. <small class="text-muted"> (canvas data-type="doughnut")</small>
  109. <canvas data-type="doughnut" data-values="[1,3,4,7]" data-labels='["fib","on","acci"]' data-colors='["#f39c12","#2980b9","#27ae60"]'></canvas>
  110. <br>
  111. <label for="label">Line</label>
  112. <small class="text-muted"> (canvas data-type="line")</small>
  113. <canvas data-type="line" data-values="[1,3,4,7]" data-labels='["fib","on","acci"]' data-color='#8e44ad'>Graphique example</canvas>
  114. <br>
  115. <label for="label">Bar</label>
  116. <small class="text-muted"> (canvas data-type="bar")</small>
  117. <canvas data-type="bar" data-values="[2,3,4,7]" data-labels='["fib","on","acci"]' data-colors='["#f39c12","#2980b9","#27ae60"]'>Graphique example</canvas>
  118. <br>
  119. <div id="checkboxes">
  120. <label>Input checkbox</label>
  121. <small class="text-muted"> (Input data-type="checkbox")</small><br>
  122. <input type="checkbox" id="mycheckbox1" name="mycheckbox1" data-class="blink_me" data-type="checkbox"><label for="mycheckbox1">Ma checkbox 1 (avec id, non encapsulée)</label><br>
  123. <label for="checkbox_2"><input type="checkbox" id="checkbox_2" name="checkbox" data-class="" data-type="checkbox">Ma checkbox 2 (avec id, encapsulée)</label><br>
  124. <label><input type="checkbox" name="checkbox" data-class="" data-type="checkbox">Ma checkbox 3 (sans id, encapsulée)</label><br>
  125. <input type="checkbox" name="checkbox" data-class="" data-type="checkbox"><label>Ma checkbox 4 (sans id, non encapsulée)</label><br>
  126. <input type="checkbox" id="checkbox_5" name="checkbox" data-class="" data-type="checkbox" disabled><label for="checkbox_5">Ma checkbox 5 (avec id, disabled)</label><br>
  127. <label><input type="checkbox" name="checkbox" data-class="" data-type="checkbox" disabled>Ma checkbox 6 (sans id, disabled)</label><br>
  128. <input type="checkbox" id="checkbox_7" name="checkbox" data-class="" data-type="checkbox" disabled checked><label for="checkbox_7">Ma checkbox 7 (disabled, checked)</label><br>
  129. </div>
  130. <br>
  131. <div>
  132. <label>Input radio</label>
  133. <small class="text-muted"> (Input data-type="radio")</small><br>
  134. <input type="radio" id="case1" name="my-radio-button" data-type="radio" data-label="Hello"><br>
  135. <label><input type="radio" id="case2" name="my-radio-button" data-type="radio">Toto</label><br>
  136. <input type="radio" id="case3" name="my-radio-button" data-type="radio"><label for="case3">Coucou</label><br>
  137. <input type="radio" id="case4" name="my-radio-button" data-type="radio" disabled><label for="case4">Disabled avec id</label><br>
  138. <input type="radio" name="my-radio-button" data-type="radio"><label>Sans id</label><br>
  139. <input type="radio" name="my-radio-button" data-type="radio" disabled><label>Disabled sans id</label>
  140. </div>
  141. <br>
  142. <label for="label">Tableau d'une liste</label>
  143. <small class="text-muted"> (div data-type="dictionnary-table")</small>
  144. <div data-type="dictionnary-table" data-dictionnary="vehicles"></div>
  145. <br><br>
  146. <?php if($myFirm->has_plugin('fr.idleman.stripe')) : ?>
  147. <label for="checkbox">Formulaire de paiement en ligne (via API Stripe)</label>
  148. <small class="text-muted"> (Div data-type="payment")</small><br>
  149. <small class="text-muted">Il faut configurer les clés API en config avant de pouvoir réaliser un paiement. (Voir <a href="https://stripe.com/docs/testing#cards" target="_blank">cette page</a> pour des cartes bleues de tests)</small>
  150. <div data-type="payment" data-action="example_stripe_pay"></div>
  151. <?php endif; ?>
  152. </div>
  153. <div class="col-md-12 text-center noLabel">
  154. <div class="btn btn-success" onclick="contact_save();"><i class="fas fa-check"></i> Enregistrer</div>
  155. <?php if($myUser->can('export', 'read') && $myFirm->has_plugin('fr.idleman.export')) : ?>
  156. <div class="d-inline-block" data-type="export-model" data-callback="contact_export_callback" data-parameters='<?php echo stripslashes(json_encode(array("plugin"=>"example","dataset"=>"contact-sheet","id"=>$contact->id,"destination"=>addslashes('contact'.SLASH.'documents'.SLASH.$contact->id.SLASH)))); ?>'>
  157. <div class="btn btn-primary"><i class="far fa-file"></i> Export modèle</div>
  158. </div>
  159. <?php endif; ?>
  160. <br><br>
  161. </div>
  162. </form>
  163. </div>