Automatikus értesítés dátum alapján

Qkacz képe

Sziasztok!
Összeraktam egy egyszerű kis ügyfélnyilvántartó rendszert magamnak D7-ben. Tárolja az ügyfeleket a szolgáltatásokat és a szerződéseket. A szerződésnek van egy fizetési határideje és egy lejárati dátuma. Ezek alapján szeretnék automatikus értesítéseket küldeni az ügyfelek számára. A kérdésem az lenne, hogy mivel tudnám megoldani, hogy a dátumokat figyelje és az alapján küldjön értesítéseket. Próbáltátok már ezt a https://drupal.org/project/notifications modult? Van ezzel kapcsolatban tapasztalatotok? Vagy van más ötlet, hogy merre induljak el?

Köszi a segítséget!

Drupal verzió: 
csakiistvan képe

Én Rules modullal csinálnám meg. https://drupal.org/project/rules

2
0

Drupal full-stack developer at Wunderman Thompson Budapest

Qkacz képe

Köszönöm! Egy másfél nap keresgélés után lassan látom a fényt az alagút végén!
Az a baj ezzel a témával kapcsolatban, hogy rengeteg megoldás, létezik rá de egyik sem az igazi. Én lehetőség szerint mindig az olyan megoldásokat keresem ami a legegyszerűbben megvalósítható és nem kell hozzá még 8 modul. Így pl. a fent említett notificationt nem javaslom.

Szóval a tapasztalataim:
A Rules modul önmagában kevés ehhez a művelethez (javítsatok ki ha tévedek) mivel a modul az alaprendszer különböző eseményeire van kihegyezve. Mást nem is nagyon tudok vele csinálni mint mondjuk küldök egy levelet, hogy most beléptem, most frissítettem egy tartalmat stb.. Tehát igazából kevés a token amit biztosít, a feltételekhez is nagyjából csak azt lehet megadni, hogy épp melyik felhasználó van bejelentkezve vagy melyik az aktuális oldal. Pl. csak a felhasználóknak lehet tömeges e-mailt küldeni, ami az én esetemben nem követelmény az ügyfeleim részére (ez csak egy nyílvántartás) róluk.

A megoldást a rules mellé a Views Rules modul jelentette, de nem volt egyszerű kitalálni hogyan működik.

Ha valaki hasonlót szeretne véghez vinni tegye a következő lépéseket:
Miután fent van minden szükséges modul (Views, Rules, Views Rules, Token):

1.: Készítsünk egy új Views-t és tegyünk bele minden adatot amire később szükségünk lesz. Pl. a node-ban szereplő e-mail címet, az ügyfél nevét, szolgáltatásait. A mezőknél állítsunk be mindent, hogy lehetőség szerint plain text legyen. Ugyan itt állítsuk be a szűrési feltételeket ami alapján a tartalmak megjelennek majd.
2.: Ha ez kész a Views-ünkhöz adjunk hozzá egy új display-t. (+Add) aminek a típusa Rules. (Ez jön a Views Rules modulból)
3. Ezen az új display fülön találunk egy Row variables részt. Ha szerkesztjük akkor láthatjuk az összes mezőt amit az előbb hozzá adtunk. Mindegyiknél használjuk a Use rendered result opciót és a Data Type volt számomra még kérdés, én a Text-et választottam. Amiket itt engedélyezünk azok lesznek később a Rules-nál elérhetőek mint Token.
4. Ha megvan mentsük a nézetet.
5. Lépjünk be a Rules konfigurációjába.
6. A sima Rules fülön adjunk hozzá egy új szabályt (Add new rule), a neve akármi lehet az esemény amire lefusson (React on event): Cron ...
7. Ezután az Akciókhoz fel tudjuk venni az előbb elkészített nézetet (Add view loop).
Eddig jók vagyunk de ezzel még semmi nem fog történni, most fel kell venni az e-mail küldés akciót.
8. Add action / send mail
És ez a "megtévesztő" rész mert első pillantásra nem látjuk az előbb említett Token-eket csak az eredetiket.
A megoldáshoz előbb mentsük el a most létrehozott e-mail küldés akciót (A mentéshez írjunk be akármit a csillagozott mezőknek)
9. És itt jön a trükk, mentés után megjelenik az e-mail küldés akció a views loop akció alatt. Fogjuk meg az e-mail küldést és akárcsak a menük átrendezésénél húzzuk kicsit jobbra, hogy az e-mail küldés akció a view loop akció gyermeke legyen. ->Mentés
10. Ha most ismét szerkesztjük az e-mail küldés akciót, akkor a viewsben hozzáadott mezők token-ként elérhetőek lesznek az e-mail mezőiben!
A címzetthez mehet az e-mail cím, a levél szövegébe akármilyen másik változó a szűrést pedig előre elvégzi a már létrehozott views!
Futtassuk le a CRON-t és már repülnek is az e-mailek! :)

1
0
csakiistvan képe

Hát a Rules ennél jóval többet tud, pl tudsz értéket összehasonlítani, ha date = myfieldvalue akkor csináld ezt... És az eredeti elképzelés kb meg is van.

0
0

Drupal full-stack developer at Wunderman Thompson Budapest

Qkacz képe

Nekem is ez lenne az ideális megoldás, viszont valamiért a tartalmakat nem ajánlja fel lehetőségnek. Csatolok két képet nézd meg kérlek, valamit biztosan rosszul csinálok.

1. eset: új akciót hozok létre cron szerint, majd a feltételeknél szeretném leszűrni, hogy csak bizonyos tartalom típusok jelenjenek meg. Alul ki tudom választani a tartalom típust, de a fenti Data selector rész nem értem..

1. eset
http://kepfeltoltes.hu/130818/Add_a_new_condition___crmuj.loc_www.kepfel...

2. eset: Az érték összehasonlítás amit Te is mondtál. Látható, hogy itt sincs mit összehasonlítani, csak site adatok..

2. eset
http://kepfeltoltes.hu/130818/Add_a_new_condition___crmuj.loc2_www.kepfe...

Köszi a segítséget!

0
0