dCourse / shrtr

7 stars 5 forks source link

Lejárati idő dátummal #7

Open juhasz opened 12 years ago

barnabas-nagy commented 12 years ago

Órán ez a feladat nem lett elkezdve? Nulláról kell indulni? (legutóbb sajnos nem voltam.)

juhasz commented 12 years ago

jelenleg egy legördülő menüből lehet kiválasztani, hogy mennyi idő múlva járjon le: https://github.com/dCourse/shrtr/blob/3c8e72c8519e08af6012d4250fbd19a3a5c12141/shrtr.module#L38-48

ezt egy timestamp-ként menti el https://github.com/dCourse/shrtr/blob/3c8e72c8519e08af6012d4250fbd19a3a5c12141/shrtr.module#L79

az elképzelésem itt az volna, hogy felveszel egy újabb dátum field-et, és ha ott beállít valamit, akkor az lesz a lejárat

juhasz commented 12 years ago

renld magadhoz a feladatot, ha ezzel akarsz foglalkozni!

barnabas-nagy commented 12 years ago

Kész a feladat.

barnabas-nagy commented 12 years ago

Módosított .info: http://dl.dropbox.com/u/5781492/shrtr.info

Módosított .module: http://dl.dropbox.com/u/5781492/shrtr.module

A date module követelmény, azon belül a Date API és a Date Popup (<=mert ez jól néz ki.)

juhasz commented 12 years ago

Amit megcsináltál, az működik, de még nincs kész.

  1. Eddig volt egy választólista, ahol ki lehet választani, hogy még mennyi ideig érvényes, ez a módosítás ezt cseréli le egy dátumválasztóra. Az elvárt működés az lenne, hogy legyen lehetőség mindkét módszerre.
  2. Ne legyen függőség a date és a date popoup. Lehet, hogy valaki nem is akarja használni a lejárati idő beállítást, akkor meg minek telepítsen két extra modult? Helyette használjuk a rendes date field-et, ami "nem olyan jól néz ki", és vizsgáljuk meg, hogy van-e date popup modul, ha van, akkor használja azt.
barnabas-nagy commented 12 years ago

Date field létezik a date modul nélkül is? a sima date-modulnak mindenképpen függőségnek kell lennie, nem? Date mezőnk alapból van?

  1. április 19. 12:51 Márton Juhász írta, < reply@reply.github.com

    :

Amit megcsináltál, az működik, de még nincs kész.

  1. Eddig volt egy választólista, ahol ki lehet választani, hogy még mennyi ideig érvényes, ez a módosítás ezt cseréli le egy dátumválasztóra. Az elvárt működés az lenne, hogy legyen lehetőség mindkét módszerre.
  2. Ne legyen függőség a date és a date popoup. Lehet, hogy valaki nem is akarja használni a lejárati idő beállítást, akkor meg minek telepítsen két extra modult? Helyette használjuk a rendes date field-et, ami "nem olyan jól néz ki", és vizsgáljuk meg, hogy van-e date popup modul, ha van, akkor használja azt.

Reply to this email directly or view it on GitHub: https://github.com/dCourse/shrtr/issues/7#issuecomment-5218983

juhasz commented 12 years ago

http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#date

barnabas-nagy commented 12 years ago

A date fieldnek nem lehet üres értéket adni, azaz alapértelmezetten mindig az aktuális dátum látszik. Emiatt nem lehet megoldani, hogy csak akkor vegye figyelembe a dátum szerinti lejárati időt, ha be van állítva és alapértelmezetten a hátralévő idő legyen. emiatt be kellett vezetnem egy választási lehetőséget (radios field), amivel először ki kell választani, hogy melyik szerint. Gondolom ez nem gond, most jobb ötletem nincs. (viszont e szerint js-el el lehet tüntetni a nem használt beviteli módot)

barnabas-nagy commented 12 years ago

A módosított megoldás: .module: http://dl.dropbox.com/u/5781492/shrtr.module .info: http://dl.dropbox.com/u/5781492/shrtr.info

juhasz commented 12 years ago

Jó, ez már nagyon közelít a készhez.

1- Ccoder modult futtasd rá minor hibákat keresve. Vannak. Azokat javítsd. 2- Ne DOS formátumú sorvégeket használj, hanem Unix tipusúakat

3-

emiatt be kellett vezetnem egy választási lehetőséget (radios field), amivel először ki kell választani, hogy melyik szerint. Gondolom ez nem gond, most jobb ötletem nincs. (viszont e szerint js-el el lehet tüntetni a nem használt beviteli módot)

Ez sem rossz, de javascript nem kell ide, használd a form API states tulajdonságát: http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#states

Ha ez megy, akkor lehet az opciók helyett az eredeti listát is használni, valami ilyesmit gondoltam:

Never
On date
10 minutes
20 minutes
30 minutes
1 hour

És ha az 'On date' opciót választja, akkor nézzük a dátumot.

barnabas-nagy commented 12 years ago

Próbálgattam a #states -et de egyszerűen nem csinál semmit, és nem jöttem rá, hogy miért...

$form['expire_remain'] = array( '#type' => 'select', '#title' => t('Expire remain'), '#options' => array( 0 => t('Never'), 'date' => t('On date'), 600 => '10' . t('min'), 1200 => '20' . t('min'), 1800 => '30' . t('min'), 3600 => '1' . t('hour'), ), '#default_value' => 0, '#description' => t('Time to expire'), ); $form['expire_date'] = array( '#type' => 'date', '#title' => t('Expire date'), '#default_value' => 0, '#description' => t('Time to expire'), '#required' => FALSE, '#states' => array( 'visible' => array( ':input[name="expire_remain"]' => array('value' => 'date'), ), ), );

mindenhol így alkalmazzák, nem értem mi lehet a gond.

  1. április 26. 11:17 Márton Juhász írta, < reply@reply.github.com

    :

Jó, ez már nagyon közelít a készhez.

1- Ccoder modult futtasd rá minor hibákat keresve. Vannak. Azokat javítsd. 2- Ne DOS formátumú sorvégeket használj, hanem Unix tipusúakat

3-

emiatt be kellett vezetnem egy választási lehetőséget (radios field), amivel először ki kell választani, hogy melyik szerint. Gondolom ez nem gond, most jobb ötletem nincs. (viszont e szerint js-el el lehet tüntetni a nem használt beviteli módot)

Ez sem rossz, de javascript nem kell ide, használd a form API states tulajdonságát: http://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7#states

Ha ez megy, akkor lehet az opciók helyett az eredeti listát is használni, valami ilyesmit gondoltam:

Never On date 10 minutes 20 minutes 30 minutes 1 hour

És ha az 'On date' opciót választja, akkor nézzük a dátumot.


Reply to this email directly or view it on GitHub: https://github.com/dCourse/shrtr/issues/7#issuecomment-5352523

juhasz commented 12 years ago

Most csak próbaképp ugyan ezt bemásoltam a kódba, tökéletesen működik. Lehet, hogy valami böngésző cache vagy javascript probléma lehet, próbáld másik böngészővel, vagy incognito módban.

barnabas-nagy commented 12 years ago

Oha, ez érdekes... :) Ez sztem több helyen a core-ban is alkalmazva, és nem vettem észre, hogy valahol ne működne. Na mind1

  1. április 30. 14:37 Márton Juhász írta, < reply@reply.github.com

    :

Most csak próbaképp ugyan ezt bemásoltam a kódba, tökéletesen működik. Lehet, hogy valami böngésző cache vagy javascript probléma lehet, próbáld másik böngészővel, vagy incognito módban.


Reply to this email directly or view it on GitHub: https://github.com/dCourse/shrtr/issues/7#issuecomment-5416439