h2. Discussion Jabber sur l'implémentation des annonces SMS * jschneider: alors tout d'abord sur la page : announces/sms; je dois mettre quoi ? un formulaire avec juste une check box * bdauvergne: je pense simplement un formulaire à un seul champ "Numéro de mobile" et deux boutons "Recevoir les annonces sur mon mobile", "Annuler" * jschneider: ok c'est ce que j'allez mettre et les annonces à envoyer par sms je les recup ou ? * bdauvergne: si la soumission du formulaire est bonne ("Recevoir les annonces sur mon mobile" a été cliqué), tu valides le numéro (tu vire points et espaces et tu vérifies que ça matche la regexp _*((00|+)?33)?6[0-9]{8,8})*_ si c'est le cas tu recherche l'object *AnnounceSubscriber* correspondant à l'utilisateur, si tu le trouves pas tu le créés et dans son champ 'sms' tu mets le numéro. * jschneider: ok merci * bdauvergne: si le numéro est pas valide selon cette regexp, tu rajoutes un message d'erreur au champ "Numéro de mobile" et tu retourne au code path d'affichage normal du formulaire (ça va réafficher le formulaire avec un message d'erreur expliquant que le numéro a pas le bon format) ensuite dans la classe _*Announce*_ (_*extra/modules/announces.py_*) il faut ajouter une méthode sms (à construire sur le modèle 'email') ensuite encore il faut regarder dans announces_ui.py, où il y a une méthode email appelé par un bouton émis par la méthode _*_q_index*_ de la classe [[AnnounceDirectory]], là il faut rajouter un bouton "Envoyer par SMS", qui comme pour la méthode email ajoute un _*afterJob*_ qui envoye les messages par SMS -- un_*afterJob*_ c'est un bout de code qui est exécuté après que la réponse à la requête en cours ait été renvoyée, voir encore la méthode "email" de l'objet _*AnnounceDirectory*_ -- après on verra à simplifier ça (3 checkbox "RSS", "SMS", "Email" sur la page de creation d'une annonce et un seul bouton "Envoyer" et pas deux bouton "envoyer par mail"/"envoyer par sms") l'affichage du bouton "envoyer par mail" est conditionné par le contenu du champ _*sent_by_email_time*_ de la classe _*Announce_*, voir si on remplace ce champ par un simple champ _*sent_time*_ ou si on ajoute un champ _*sent_by_sms_time*_ pour faire la distinction, à toi de voir.