Qui sóc Luis Ortiz Ramos ● luis@ateneatech.com ● @luisortizramos Atenea tech ● http://ateneatech.com ● hola@ateneatech.com ● @ateneatech
LAEPap ● Més de 3000 pediatres datenció primària ● Es sustenta en organitzacións: ○ Associacións regionals ○ Grups de treball ● http://aepap.org
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
Solució: core
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
OrganitzacionsAssociacions regionals i grups de treball
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.
Solució● Organic Groups: No. És massa complicat de mantenir per a ladministrador● Alternativa: tota la informació a Continguts i Usuaris
Solució
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.
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;}