web: clarify some confusing parameter handling
This commit is contained in:
		
							parent
							
								
									d2877a919a
								
							
						
					
					
						commit
						7138acaec4
					
				| @ -32,20 +32,21 @@ handlePost = do | |||||||
| handleAdd :: Handler Html | handleAdd :: Handler Html | ||||||
| handleAdd = do | handleAdd = do | ||||||
|   VD{..} <- getViewData |   VD{..} <- getViewData | ||||||
|   -- gruesome adhoc form handling, port to yesod-form later |   -- XXX gruesome form handling, port to yesod-form later | ||||||
|   mjournal <- lookupPostParam  "journal" |   mjournalpath <- lookupPostParam  "journal" | ||||||
|   mdate <- lookupPostParam  "date" |   mdate <- lookupPostParam  "date" | ||||||
|   mdesc <- lookupPostParam  "description" |   mdesc <- lookupPostParam  "description" | ||||||
|   let edate = maybe (Left "date required") (either (\e -> Left $ showDateParseError e) Right . fixSmartDateStrEither today . strip . unpack) mdate |   let edate = maybe (Left "date required") (either (\e -> Left $ showDateParseError e) Right . fixSmartDateStrEither today . strip . unpack) mdate | ||||||
|       edesc = Right $ maybe "" unpack mdesc |       edesc = Right $ maybe "" unpack mdesc | ||||||
|       ejournal = maybe (Right $ journalFilePath j) |       ejournalpath = maybe | ||||||
|  |                        (Right $ journalFilePath j) | ||||||
|                        (\f -> let f' = unpack f in |                        (\f -> let f' = unpack f in | ||||||
|                               if f' `elem` journalFilePaths j |                               if f' `elem` journalFilePaths j | ||||||
|                               then Right f' |                               then Right f' | ||||||
|                               else Left $ "unrecognised journal file path: " ++ f' |                               else Left $ "unrecognised journal file path: " ++ f' | ||||||
|                               ) |                               ) | ||||||
|                        mjournal |                        mjournalpath | ||||||
|       estrs = [edate, edesc, ejournal] |       estrs = [edate, edesc, ejournalpath] | ||||||
|       (errs1, [date,desc,journalpath]) = (lefts estrs, rights estrs) |       (errs1, [date,desc,journalpath]) = (lefts estrs, rights estrs) | ||||||
|   (params,_) <- runRequestBody |   (params,_) <- runRequestBody | ||||||
|   -- mtrace params |   -- mtrace params | ||||||
| @ -136,15 +137,16 @@ handleEdit = do | |||||||
|   -- get form input values, or validation errors. |   -- get form input values, or validation errors. | ||||||
|   -- getRequest >>= liftIO (reqRequestBody req) >>= mtrace |   -- getRequest >>= liftIO (reqRequestBody req) >>= mtrace | ||||||
|   mtext <- lookupPostParam "text" |   mtext <- lookupPostParam "text" | ||||||
|   mjournal <- lookupPostParam "journal" |   mjournalpath <- lookupPostParam "journal" | ||||||
|   let etext = maybe (Left "No value provided") (Right . unpack) mtext |   let etext = maybe (Left "No value provided") (Right . unpack) mtext | ||||||
|       ejournal = maybe (Right $ journalFilePath j) |       ejournalpath = maybe | ||||||
|  |                        (Right $ journalFilePath j) | ||||||
|                        (\f -> let f' = unpack f in |                        (\f -> let f' = unpack f in | ||||||
|                               if f' `elem` journalFilePaths j |                               if f' `elem` journalFilePaths j | ||||||
|                               then Right f' |                               then Right f' | ||||||
|                               else Left ("unrecognised journal file path"::String)) |                               else Left ("unrecognised journal file path"::String)) | ||||||
|                        mjournal |                        mjournalpath | ||||||
|       estrs = [etext, ejournal] |       estrs = [etext, ejournalpath] | ||||||
|       errs = lefts estrs |       errs = lefts estrs | ||||||
|       [text,journalpath] = rights estrs |       [text,journalpath] = rights estrs | ||||||
|   -- display errors or perform edit |   -- display errors or perform edit | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user