AEPap web en Drupal desenvolupada per Atenea tech

1,325 views

Published on

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,325
On SlideShare
0
From Embeds
0
Number of Embeds
80
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AEPap web en Drupal desenvolupada per Atenea tech

  1. 1. Associació Espanyola dePediatria dAtenció Primària
  2. 2. Qui sóc Luis Ortiz Ramos ● luis@ateneatech.com ● @luisortizramos Atenea tech ● http://ateneatech.com ● hola@ateneatech.com ● @ateneatech
  3. 3. LAEPap ● Més de 3000 pediatres datenció primària ● Es sustenta en organitzacións: ○ Associacións regionals ○ Grups de treball ● http://aepap.org
  4. 4. La nova WebObjectiu: ● Comunicar lactivitat generada per lassociació i per les organitzacions que hi formen part.Requeriments principals: ● Contingut estàtic: ○ Pàgines ○ Formulari de contacte ● Contingut dinàmic: ○ Secció dactualitat ○ Secció dagenda ○ Secció de biblioteca ● Organitzacions
  5. 5. Solució: core
  6. 6. Solució: mòduls contribuïtsCamps: Gestió de menús: ● Link ● Menu block ● Email ● Menu position ● References ● Date Gestió dadreces: ● Fieldgroup ● Pathauto ● TransliterationVistes: ● Token ● Views ● Views slideshow ● Calendar
  7. 7. OrganitzacionsAssociacions regionals i grups de treball
  8. 8. OrganitzacionsRequeriments principals: ● Contingut estàtic: ○ Pàgines ○ Formulari de contacte ● Contingut dinàmic: ○ Secció dactualitat ○ Secció dagenda ○ Secció de bibliotecaUsuaris editors poden afegir contingut dinàmic només a lesorganitzacions de les que són membres.
  9. 9. Solució● Organic Groups: No. És massa complicat de mantenir per a ladministrador● Alternativa: tota la informació a Continguts i Usuaris
  10. 10. Solució
  11. 11. Solució: creació de contingutsEl camp lloc de publicació només pot fer referencia a nodesresultat duna vista que mostra les organitzacions de les quelusuari actual és membre.
  12. 12. Solució: actualització i esborratCodi!/** * Implements hook_node_access(). */function aepap_node_access($node, $op, $account) { // Operació és actualització o esborrat if ($op==delete || $op==update) { // Contingut és notícia if ($node->type==new) { // Usuari és editor dorganització if (array_key_exists(9, $account->roles)) { $publication_place = node_load($node->field_new_publication_place[und][0][nid]); if (!empty($publication_place->field_members)) { foreach($publication_place->field_members[und] as $member) { // Usuari és membre de la organització que és lloc de publicació de la notícia if ($member[uid] == $user->uid) { return NODE_ACCESS_ALLOW; } } } } } } return NODE_ACCESS_IGNORE;}
  13. 13. Preguntes?

×