Skip to content
lolownia edited this page Jul 14, 2011 · 1 revision
  • Administracja

    • Lista kategorii i produktów GET /products/

      • wyświetlana jako lista kategorii

      • i pod każdą kategorią będzie pod-lista produktów.

      • Żeby dodać kategorię: [Dodaj kategorię] GET /products/new_category

        • Formularz: nazwa i [ok] POST /products/save_category

        • Pod spodem lista pól

          • input/hidden/product-ids[]

          • input/text/name-3

          • …​ dla każdego produktu.

            • Dla tych robimy UPDATE

        • Przycisk [Dodaj produkt] dodaje dynamicznie puste pola jw.

          • input/hidden/new-product-ids[] - zawiera numer (current-time)

          • input/text/name-1239234898598437

          • …​.

            • Dla tych robimy INSERT bez podawania tego ID oczywiście.

      • Żeby edytować kategorię o numerze 132:

        • [Edytuj kategorię] (przycisk koło każdej kategorii) GET /products/edit_category/123

          • Formularz jak wyżej, z tym, że przesyłamy też category-id, wtedy robiony jest UPDATE kategorii.

    • Dostawcy i oferty

      • lista: GET /suppliers/ dla każdego dostawcy:

        • nazwa

        • lista ofert dla każdego + przyciski [Edytuj ofertę]

        • [Dodaj ofertę] pod spodem.

      • przycisk [nowy dostawca] który prowadzi do /suppliers/new

        • tu jest prosty formularz:

          • nazwa

          • adres

          • dane kontaktowe.

          • priorytet.

      • Dodawanie/edycja oferty: /suppliers/offer lub /suppliers/offer/123 dla oferty nr 123

        • nazwa oferty

        • id oferty, jeśli nie jest to nowa oferta.

        • lista produktów do UPDATE:

          • offered-product-ids[] - id dla każdego wiersza

          • SELECT produkt-123

            • produkty są ładowane przy ładowaniu strony

              • a więc jeśli ktoś w czasie edycji oferty się zorientuje, że nie ma produktu, to musi zapisać ofertę, przejść do produktów, dodać produkt, wrócić do ofert, kliknąć [Edycja] i dopisać go.

          • jednostka SELECT: kg, opakowanie, skrzynka

          • minimalna ilość jednostek

          • ile maksymalnie u dostawcy

        • lista nowych produktów w tej ofercie (do INSERT)

          • pola pojawiają się po wciśnięciu [Dodaj produkt do oferty]

            • new-offered-product-ids[] wygenerowany id z czasu/losowy, tak jak wyżej.

            • te same pola, tylko z wygenerowanym id.

        • Przycisk [Zapisz]

  • Dodawanie użytkowników

    • edycja listy jak wyżej.

  • Zakupy

    • Dodawanie zakupów

      • mamy listę aktualnych zakupów /shopping/

      • oraz archiwalną ? /shopping/archive/

      • osoba z rolą Dyżurnego ma dostępny przycisk [Nowe zakupy]

        • strona /shopping/new

          • pole z datą [można jakiś date-picker w JS dodać]

          • lista dostawców z ofertami - z polami checkbox

          • lista kooperatyw (checkbox)

      • strona zamówienia: /shopping/order/32 dla zakupów nr 32

        • wyświetla własne zamówienie dla każdego użytkownika

        • iteruje po kategoriach

          • iteruje po produktach

            • jeżeli jest w którejś z ofert [są poukładane priorytetami] wyświetl:

              • ❏ nazwa [ilość ] + informacje

        • przycisk zapisz.

  • Logowanie

    • Dowiedzieć się:

      • jak CI obsługuje sesje i użytkowników

      • jak ograniczyć niedostępne adresy URL

      • jak przekierować do strony logowania

    • Napisać kontroler logujący

      • sprawdzania user/pass

      • tworzenie sesji

      • opcja wylogowanie (skasowanie sesji)

Clone this wiki locally