System sprzedaży biletów na Bal Elektryka 2010
W okresie grudnia uczyłem się trochę Symfony (akurat było to 1.4.1 i Doctrine). Wynikiem i powodem zabawy był system sprzedaży biletów na tegoroczny Bal Elektryka.
Główną inspiracją był system Balsit, stworzony przez Rafała Bednarza na Bal w roku 2009. W przypływie nadmiernej chęci do pacy stwierdziłem, że można go napisać od nowa, rozbudowując niektóre możliwości/zmieniając funkcjonalność.
System składa się z front-endu do rejestracji gości - każdy chcący kupić bilet rejestrował się na komputerze, członek naszego samorządu sprawdzał poprawność wpisanych danych. Użytkownik otrzymywał unikalny numer, potrzebny zaraz przy następnym stanowisku.
Sprzedawca obsługiwał system sprzedaży - kupujący wybierał miejsce, wpłacał należność i otrzymywał wypisany bilet. Relacje tworzone były automatycznie, system ułatwiał sprzedaż biletu parom.
Całościowo umożliwił osiągnięcie tempa powyżej 2 biletów na minutę
Sam system nie wykorzystywał innowacyjnych pomysłów - po prostu wykorzystywał wielkie możliwości frameworka
Załączam skompresowane źródła, włącznie z użytym Symfony 1.4.1: balsit 0.8.
Relacje 1:1 w Propel – unikanie błędu z primaryKey
Przeglądając trochę internetu w poszukiwaniu informacji jak zdefiniować relacje 1:1 za pomocą plików scheme.yml natrafiłem na wiele sugestii, mówiących aby nie tylko pole id, ale i drugie pole (będą właśnie w relacji 1:1 z polem id w innej tabeli) oznaczyć jako primary key. W prostej linii doprowadziło to do niezrozumiałego błędu:
Warning: Illegal offset type in symfony\plugins\sfPropelPlugin\lib\widget\sfWidgetFormPropelChoice.class.php on line 103
Rozwiązaniem generującym odpowiednie metody, zgodnym z informacją znalezioną np tutaj, było zrezygnowanie z primaryKey, i użycie klucza unikalnego.
Jabber w twojej domenie i wpisy SRV
Po zakupie domeny użytkownikowi Jabbera przychodzi do głowy kolejna myśl: założenie sobie JID takiego samego jak e-mail. Z pomocą przychodzi tutaj GoogleApps, umożliwiający to każdemu użytkownikowi sieci (od razu warto skorzystać z ich maila w tej samej domenie).
Spolszczony Aqueous-Lite
Na potrzeby oglądanej przez Ciebie strony spolszczyłem szablon:
http://themes.wordpress.net/columns/2-columns/1972/aqueous-lite/
Poprawiłem też parę drobiazgów aby był zgodny z XHTML 1.0 Transitional, oraz CSS2.
Poniżej zamieszczam pliki szablonu (sam szablon jak i tłumaczenie na licencji GPL)



