![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 226 Pomógł: 25 Dołączył: 4.07.2007 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Aktualnie w swoim FW mam wszystko podzielone na akcje (obsługują całość, wywoływane ręcznie lub prze url), modele (pobieranie danych) i widoki (wiadomo) [poprostu MVC]. Jak mam formularz dodawania powiedzmy newsa to mam newsForm akcje i akcje news, ktora dodaje dane. Aktualnie to wszystko mam nijak wrzucone (wszystkie linki) do jakiegos widoku w panelu usera i jak masz prawa to sie wyswietla (np. "Dodaj news"). Mam w takim razie pytanie jak ładnie i elegancko rozwiązać PA.
Pozdr BartG -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem - co jest problemem?
Ja na przykład mam (w dużym skrócie) w folderze gdzie mam także modele, kontrolery i widoki, kontrolery panelu admina. Są one tak samo zbudowane jak "normalne" kontrolery, ale są one wykonywane tylko w panelu admina - tak więc tak samo jak "normalne" pobierają dane z modelów i wyświetlają je za pomocą widoków (widoki i modele są wspólne dla obu typów kontrolerów). A z prawami to mam po prostu do tego osobną tabelę w której są zapisane konkretne uprawnienia (nie dla danego użytkownika, tylko dla grupy użytkowników - bo przecież większość userów ma takie same uprawnienia, są jednak wyjątki) i przy pobieraniu danych użytkownika za pomocą JOIN pobieram jednocześnie jego uprawnienia. No i wtedy po prostu if($user->nazwa_uprawnienia == 'oczekiwana wartość') -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 226 Pomógł: 25 Dołączył: 4.07.2007 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Uprawnienia mam podobnie. Chodzi mi tylko o to że nie chciałbym rozdzielać kontrolera dal userów i adminów. Czemu? Bo np edycja komentarza prze 5 min jest dla każdego a przez reszte dla wszystkich.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Własnie chodzi o szybkość tworzenia. Jestem w stanie poświęcić miesiąc na szukanie rozwiązania, żeby później zaoszczędzić te 10min pisania.
![]() Teraz, jak rozwiązać wyświetlanie linków edycji przy newsie? Mogę dać prymitywnie Ale czy nie da się tego jakoś by zautomatyzować? Tak musiałbym dopisywać kolejne linki (etc. usuń). Może
Wtedy mógłbym zrobić jakąś metodę w każdej akcji newsa w PA, albo zmienną. Nie powie ktoś jak to rozwiązuje? -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
To wtedy piszesz sobie odpowiednie metody w DAO/modelu, jaki problem?
![]() Osobiście uważam, że nie ma sensu maltretować skryptu dodatkową logiką administratorów, skoro w większości żądań nie jest ona potrzebna. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Z bratem robimy już gotowe, że się wyraże klocki. Później przy zleceniu to się wszystko łączy -> userzy, grupy, prawa, strony statyczne, newsy, komenty itd. (skreślic co nie potrzebne
![]() I teraz potrzebuję czegoś co będzie w każdym folderze "klocka" (tj. Application/News). Mogę dać Application/News/Administration/ ale nie widzę sensu tworzenia kolejnych akcji. Powiedzmy, że chce zmienić baże na postreSql. I mam siękatwoać otwieraniem 4 plików zamiast dwóch? Później szukanie wszystkiego ;/ Nie dziękuję... Może zrobić poprostu na początku akcji
Zmieniało by to uprawnienia, IndexUp.tpl i IndexDown.tpl na odpowiednik administratorski? Jak myślicie? -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Ja robię zazwyczaj tak, że każdą akcję w panelu (np. edycja komentarza do newsa, skasowanie komentarza do newsa etc.) systematyzuje - dostaje swój ID oraz opis (potem jak to widzę to łatwiej mi ogarnąć), każdy użytkownik może wykonywać tylko akcje o określonym ID, co łatwo sprawdzić prostą funkcją - dzielenie użytkowników typu "Starszy newsman" nie wydaje mi się dobre - może to być pewne uproszczenie, podobnie jak grupa o której pisał Radex, jednak lepiej prezycyjnie dodawać uprawnienia na zasadzie "co nie jest dozwolone, jest zabronione", oczywiście uprawnienia warto sklasyfikować zgodnie z logiką drzewa.
Trudniejsze wydaje mi się pogodzenie uprawnień akcji z uprawnieniami obszarowymi (dostępy do określonych kategorii serwisu). |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Mam cały system zarządzania prawami i to nei jest problemem. Dostęp do danego newsa, artykułu także na razie nie jest mi potrzebny. Potrzebuję uniwersalnego, prostego sposobu na tworzenia Panelu Administracyjnego. Strona główna PA to nie problem, bo zrobię to jako akcję, menu także nie jest problemem bo dam if($oController->isAdminMode()) { $oController->getAction('Global', 'adminMenu'); } i pobierze mi konkretne dane. Problemem jest samo zarzadzanie i jego położenie.
Czy w Application/news/Admin_View.class.php czy w folderze, czy korzystac z modeli zwykłego modułu, czy robić osobne modele? -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
może to być pewne uproszczenie, podobnie jak grupa o której pisał Radex, jednak lepiej prezycyjnie dodawać uprawnienia na zasadzie "co nie jest dozwolone, jest zabronione" No właśnie u mnie można dokładnie dodawać uprawnienia. Po prostu w przypadku większości użytkowników ładowany jest ten sam zestaw uprawnień (ten sam rekord z tabeli privileges) Cytat Czy w Application/news/Admin_View.class.php czy w folderze, czy korzystac z modeli zwykłego modułu, czy robić osobne modele? Jeden model. Po co dwa, skoro część działań wykonywanych przez model się powtarza i w PA i na samej stronie. Ten post edytował .radex 11.02.2009, 08:00:51 -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Ale nie zawsze? Czy nie warto rozdzielić to na dwa modele?
No dobra, teraz wszystko sprowadza się do obsługi menu. na razie pobieram listę folderów application/ i sprawdzam czy są pliki admina. Jak są, to wyświetlam kategorię. A jakbym chciał podkategorię? User - Dodaj - Przeglądaj Tak jak w WP? Myślałem o zastosowaniu metody statycznej
I w menu Administration_User::getMenu(); Ale czy to dobre rozwiązanie? -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 04:28 |