more in admin interface

additionals
This commit is contained in:
nek0 2014-09-07 06:56:34 +02:00
parent f5f2ac336d
commit 11e70530b3
9 changed files with 78 additions and 8 deletions

View file

@ -43,6 +43,7 @@ import Handler.ProfileSettings
import Handler.ProfileDelete
import Handler.Admin
import Handler.AdminProfileSettings
import Handler.AdminAlbumSettings
-- This line actually creates our YesodDispatch instance. It is the second half
-- of the call to mkYesodData which occurs in Foundation.hs. Please see the

View file

@ -0,0 +1,31 @@
module Handler.AdminAlbumSettings where
import Import
getAdminAlbumsR :: Handler Html
getAdminAlbumsR = do
msu <- lookupSession "userId"
case msu of
Just tempUserId -> do
userId <- return $ getUserIdFromText tempUserId
user <- runDB $ getJust userId
case userAdmin user of
True -> do
albums <- runDB $ selectList [] [Desc AlbumTitle]
defaultLayout $ do
$(widgetFile "adminAlbums")
False -> do
setMessage "You are no admin"
redirect $ HomeR
Nothing -> do
setMessage "You must be logged in"
redirect $ LoginR
getAdminAlbumSettingsR :: AlbumId -> Handler Html
getAdminAlbumSettingsR = error "Not yet implemented: getAdminAlbumSettingsR"
postAdminAlbumSettingsR :: AlbumId -> Handler Html
postAdminAlbumSettingsR = error "Not yet implemented: postAdminAlbumSettingsR"
getAdminAlbumDeleteR :: AlbumId -> Handler Html
getAdminAlbumDeleteR albumId = error "Not yet implemented: getAdminAlbumDeleteR"

View file

@ -5,8 +5,8 @@ import qualified Data.Text as T
import System.Directory
import System.FilePath
getAdminProfiles :: Handler Html
getAdminProfiles = do
getAdminProfilesR :: Handler Html
getAdminProfilesR = do
msu <- lookupSession "userId"
case msu of
Just tempUserId -> do

View file

@ -23,6 +23,9 @@
/profile/#UserId/settings ProfileSettingsR GET POST
/profile/#UserId/delete ProfileDeleteR GET POST
/admin AdminR GET
/admin/profile AdminProfiles GET
/admin/profile AdminProfilesR GET
/admin/profile/#UserId AdminProfileSettingsR GET POST
/admin/profile/#UserId/delete AdminProfileDeleteR GET
/admin/album AdminAlbumsR GET
/admin/album/#AlbumId AdminAlbumSettingsR GET POST
/admin/album/#AlbumId/delete AdminAlbumDeleteR GET

View file

@ -36,6 +36,7 @@ library
Handler.ProfileDelete
Handler.Admin
Handler.AdminProfileSettings
Handler.AdminAlbumSettings
if flag(dev) || flag(library-only)
cpp-options: -DDEVELOPMENT

View file

@ -0,0 +1,10 @@
$newline always
<h3>Albums
$if null albums
There are no albums yet
$else
$forall (Entity aId a) <- albums
<ul>
<li>
<a href=@{AdminAlbumSettingsR aId}>#{albumTitle a}

View file

@ -3,3 +3,9 @@ $newline always
<p>
Be careful with your actions here, every click will perform directly the advertised action.
<ul>
<li>
<a href=@{AdminProfilesR}>User profiles
<li>
<a href=@{AdminAlbumsR}>Albums

View file

@ -0,0 +1,10 @@
.right
float:right
width:50%
.left
float:left
width:50%
footer
clear:both

View file

@ -1,9 +1,17 @@
$newline always
<h3>Profile settings
<form method="post" enctype=#{enctype}>
<div class="left">
<form method="post" enctype=#{enctype}>
^{adminProfileSetWidget}
<div>
<input type=submit value="Change settings">
<a href=@{AdminProfileDeleteR userId}>Delete user
<a href=@{AdminProfileDeleteR userId}>Delete user
<div class="right">
<ul>
<li>
Albums of this user
<li>
Media of this user