yaz/commit
add support to add new user
author | Michiel Hildebrand |
---|---|
Sun Nov 6 16:33:49 2011 +0100 | |
committer | Michiel Hildebrand |
Sun Nov 6 16:33:49 2011 +0100 | |
commit | 498180940e966e4fe3341cf7d5b52164346ddb89 |
tree | 796e1c31a88f4cf21069b0b4f2c82b97542d408b |
parent | d5c47160eca72a3f4113cc95d8059e444fa25b7c |
Diff style: patch stat
diff --git a/api/edm_export.pl b/api/edm_export.pl index d9b20af..44dd40f 100644 --- a/api/edm_export.pl +++ b/api/edm_export.pl @@ -55,8 +55,7 @@ http_yaz_sip_update(Request) :- %convert_annotations(Annotations, _XMLString), %submit_mpeg(Id, XMLString), % end TagGarden process - ( rdf(Process, opmv:used, Video), - rdf(Process, rdf:type, pprime:'TagGarden') + ( current_user_process(Process) -> end_user_process(Process) ; true ), diff --git a/applications/yaz_garden.pl b/applications/yaz_garden.pl index 20a2087..982f608 100644 --- a/applications/yaz_garden.pl +++ b/applications/yaz_garden.pl @@ -29,8 +29,10 @@ :- http_handler(yaz(garden), http_yaz_garden, []). :- http_handler(yaz(gardenaccept), http_yaz_garden_accept, []). +:- http_handler(yaz(gardenremove), http_yaz_garden_remove, []). :- http_handler(yaz(data/reconcileentries), http_data_reconcile_entries, []). + reconcile_source(gtaa, 'GTAA', Server, @@ -73,6 +75,7 @@ http_yaz_garden_accept(Request) :- [description('Current video')]) ]), user_property(User0, url(User)), + %User = pprime_test, % hack for testbed ( current_user_process(Process), rdf(Process, rdf:type, pprime:'TagGarden'), rdf(Process, opmv:used, Video) @@ -94,6 +97,32 @@ http_yaz_garden_accept(Request) :- ]). +%% http_yaz_garden_remove(+Request) +% +% Emit an HTML page to link tags to concepts. + +http_yaz_garden_remove(Request) :- + http_parameters(Request, + [ video(Video, + [description('Current video')]) + ]), + rdf_transaction(forall(visible_garden_process(Video, Process), + rdf_assert(Process, rdf:type, pprime:'Hidden', Process))), + reply_html_page(yaz, + [ title(['YAZ accept - ', Video]) + ], + [ div(['You hide the previous gardening sessions for ', Video]), + div(['go back to ', + a(href(location_by_id(http_yaz_home)), 'your videos') + ]) + ]). + +visible_garden_process(Video, Process) :- + rdf(Process, opmv:used, Video), + rdf(Process, rdf:type, pprime:'TagGarden'), + \+ rdf(Process, rdf:type, pprime:'Hidden'). + + %% http_yaz_garden(+Request) % % Emit an HTML page to link tags to concepts. diff --git a/applications/yaz_home.pl b/applications/yaz_home.pl index 46f9021..ca1ab43 100644 --- a/applications/yaz_home.pl +++ b/applications/yaz_home.pl @@ -1,5 +1,6 @@ :- module(yaz_home, - [http_yaz_home/1 + [http_yaz_home/1, + http_yaz_new_user/1 ]). :- use_module(library(http/http_dispatch)). @@ -39,6 +40,46 @@ http_yaz_home(Request) :- ; html_home_page ). +%% testbed home page +% +% + +http_yaz_new_user(Request) :- + http_parameters(Request, + [ user(User, + [optional(true), + descritpion('Name of new user')]) + ]), + ( var(User) + -> html_new_user_page(http_yaz_new_user, []) + ; current_user(User) + -> html_new_user_page(http_yaz_new_user, + [user(User), + message('name already exists')]) + ; password_hash(presto, PW), + user_add(User, [realname(User),password(PW),allow([read(_,_),write(_,_)])]), + login(User), + http_location_by_id(http_yaz_home, Home), + throw(http_reply(moved_temporary(Home))) + ). + +html_new_user_page(F, Options) :- + option(user(User), Options, ''), + option(message(Message), Options, ''), + reply_html_page([ title(['YAZ - new user']) + ], + [ \html_requires(css('yaz.css')), + div('style="text-align:center;margin-top:20%"', + [ h3('Enter your name:'), + form(action(location_by_id(F)), + [ input([type(text),name(user),value(User)]) + ]), + div([style='color:red;size:smalller'], + Message) + ]) + ]). + + /******************************* * html * @@ -71,18 +112,18 @@ html_user_home_page(User) :- video_queue(Queue0), active_videos(User, Active0), moderated_videos(User, Moderated0), - suggested_videos(User, Suggested0), + %suggested_videos(User, Suggested0), list_limit(Queue0, 5, Queue, _), list_limit(Active0, 5, Active, _), list_limit(Moderated0, 5, Moderated, _), - list_limit(Suggested0, 5, Suggested, _), + %list_limit(Suggested0, 5, Suggested, _), reply_html_page(yaz, [ title(['YAZ - ', User]) ], - [ \html_topic(Active, active, true, User), - \html_topic(Suggested, suggested, false, User), - \html_topic(Queue, queue, false, User), - \html_topic(Moderated, moderated, true, User) + [ \html_topic(Queue, queue, false, User), + \html_topic(Active, active, false, User), + %\html_topic(Suggested, suggested, false, User), + \html_topic(Moderated, moderated, false, User) ]). diff --git a/config-available/yaz.pl b/config-available/yaz.pl index 76e825d..bf78663 100644 --- a/config-available/yaz.pl +++ b/config-available/yaz.pl @@ -32,7 +32,8 @@ % http path and handlers http:location(yaz, cliopatria(yaz), []). -:- http_handler(cliopatria(home), http_yaz_home, []). +%:- http_handler(cliopatria(home), http_yaz_home, []). +:- http_handler(cliopatria(home), http_yaz_new_user, []). % lod diff --git a/lib/user_process.pl b/lib/user_process.pl index ac9b7ca..14a34f2 100644 --- a/lib/user_process.pl +++ b/lib/user_process.pl @@ -93,11 +93,11 @@ start_user_process(Process) :- rdfs_individual_of(Process, opmv:'Process'), get_time(StartTime0), format_iso_dateTime(StartTime0, StartTime), - ( rdf(Process, opmv:wasStartedAt, _) - -> true - ; rdf_transaction(rdf_assert(Process, opmv:wasStartedAt, literal(type(xsd:date, StartTime)), Process)) - ), - debug(user_process, 'Process ~w started at ~w', [Process, StartTime]). + ( rdf(Process, opmv:wasStartedAt, literal(type(xsd:date, OldTime))) + -> debug(user_process, 'Process ~w was already start at ~w', [Process, OldTime]) + ; rdf_transaction(rdf_assert(Process, opmv:wasStartedAt, literal(type(xsd:date, StartTime)), Process)), + debug(user_process, 'Process ~w started at ~w', [Process, StartTime]) + ). %% end_user_process(+Process) % @@ -105,10 +105,13 @@ start_user_process(Process) :- end_user_process(Process) :- rdfs_individual_of(Process, opmv:'Process'), - get_time(EndTime0), - format_iso_dateTime(EndTime0, EndTime), - rdf_transaction(rdf_assert(Process, opmv:wasEndedAt, literal(type(xsd:date, EndTime)), Process)), - debug(user_process, 'Process ~w ended at ~w', [Process, EndTime]). + ( rdf(Process, opmv:wasEndedAt, literal(type(xsd:date, OldTime))) + -> debug(user_process, 'Process ~w was already ended at ~w', [Process, OldTime]) + ; get_time(EndTime0), + format_iso_dateTime(EndTime0, EndTime), + rdf_transaction(rdf_assert(Process, opmv:wasEndedAt, literal(type(xsd:date, EndTime)), Process)), + debug(user_process, 'Process ~w ended at ~w', [Process, EndTime]) + ). %% join_user_process(+Process, +User) % diff --git a/lib/videos.pl b/lib/videos.pl index 40f73ea..eb26fbf 100644 --- a/lib/videos.pl +++ b/lib/videos.pl @@ -122,7 +122,8 @@ active_video(User, Video, Process, Time) :- rdf(Process, opmv:wasControlledBy, User), rdf(Process, rdf:type, pprime:'TagGarden'), rdf(Process, opmv:wasStartedAt, literal(Time)), - \+ rdf(Process, opmv:wasEndedAt, _). + \+ rdf(Process, opmv:wasEndedAt, _), + \+ rdf(Process, rdf:type, pprime:'Hidden'). %% moderated_video(?User, ?Video, ?Process, -StartTime, -EndTime) % @@ -133,7 +134,8 @@ moderated_video(User, Video, Process, StartTime, EndTime) :- rdf(Process, opmv:wasControlledBy, User), rdf(Process, rdf:type, pprime:'TagGarden'), rdf(Process, opmv:wasStartedAt, literal(StartTime)), - rdf(Process, opmv:wasEndedAt, literal(EndTime)). + rdf(Process, opmv:wasEndedAt, literal(EndTime)), + \+ rdf(Process, rdf:type, pprime:'Hidden'). %% suggested_video(?User, ?Video, ?Process) % @@ -147,7 +149,8 @@ suggested_video(User, Video) :- in_moderation(Video, Process) :- rdf(Process, opmv:used, Video), - rdf(Process, rdf:type, pprime:'TagGarden'). + rdf(Process, rdf:type, pprime:'TagGarden'), + \+ rdf(Process, rdf:type, pprime:'Hidden'). video_label(1) --> html(video).