summaryrefslogtreecommitdiff
path: root/server/user_session.py
AgeCommit message (Collapse)Author
2016-04-24Return info about experiments to the clientTimotej Lazar
2016-03-01Support experiments field for SAML loginsTimotej Lazar
2016-02-28Add experiments column to codeq_userTimotej Lazar
This JSON column holds an array of experiment objects, for example: [{'id': 'prolog_hints', 'group': 'manual_hints'}]. To include users in an experiment, just add appropriate objects to their records. Not the cleanest design from the DB point of view, but enough for the single current use case.
2016-02-25Add a get_solutions(problem_ids) API functionTimotej Lazar
It returns the user’s solutions to given problems.
2015-12-11Add is_admin attribute to UserSessionTimotej Lazar
2015-12-11Return is_admin field on loginTimotej Lazar
2015-12-10Add copyright infoTimotej Lazar
2015-11-09Bugfix: SAML login method did not return correct field for the e-mail.Aleš Smodiš
2015-11-06Fix SAML login: account upgrading is done via the email attribute, username ↵Aleš Smodiš
is eduPersonPrincipalName.
2015-11-02Modified the python server to support SAML account merge/upgrade upon first ↵Aleš Smodiš
SAML-type login of an existing user.
2015-10-19Add method to return attempted/solved problems for given languageTimotej Lazar
2015-10-16Record solved problems in databaseTimotej Lazar
2015-10-16added gui_layout to the settings of the userRobert Zorko
2015-10-15Server-side support for SAML logout, sessions are destroyed only using an ↵Aleš Smodiš
AJAX call.
2015-10-15Implemented python login using authenticated SAML credentials.Aleš Smodiš
2015-10-15Process user stats in Python instead of SQLTimotej Lazar
Since we ultimately want to include events from traces (hints, tests) in statistics, SQL will be insufficient.
2015-10-13Use identifiers instead of names in get_statTimotej Lazar
Names have been removed from the database. This code will be updated when we decide what statistics to present to the user.
2015-10-13Store robot's address in settingsTimotej Lazar
2015-10-12Rename lang setting to gui_langTimotej Lazar
2015-10-12get basic user statisticsMarko Pušnik
2015-10-12attributes for profile pageMarko Pušnik
2015-10-12signup: +name +emailMarko Pušnik
2015-10-08Reworked session handling.Aleš Smodiš
* All requests have a session ID, except for the initial create_session system messages. * User session can be in an authenticated or anonymous state. * In anonymous state it is not possible to perform user actions. * Logout has been implemented. * Sessions timeout and are cleared after a period of inactivity (1 hour). * Bugfixed the lang setting handling. * Renamed get_problem -> get_current_solution, return only the user's current solution, not the whole problem data.
2015-10-06sign up, update last_loginMarko Pušnik
2015-10-06change passwordMarko Pušnik
2015-10-04Unification of language session implementations. Added load_problem and ↵Aleš Smodiš
end_problem actions so handlers get appropriately created and destroyed upon loading and unloading the problem solving screen.
2015-09-30Add RobotSessionTimotej Lazar
Currently it does nothing useful.
2015-09-29removed some debug output and actually enabled writing into the DBRobert Zorko
2015-09-29added support to save settings, currently only 'lang' will actually be ↵Robert Zorko
saved, since it is the only one already in the database
2015-09-29added settings to the user session and the login function now also returns ↵Robert Zorko
those settings - currently only gui language is implemented. The create.sql script is updated for that change as well.
2015-09-18Send the plan definition in get_problem_dataTimotej Lazar
2015-09-16Implement async. comm. with Python interpreterTimotej Lazar
Creating, destroying and communicationg with the interpreter subprocess is now handled by a thread attached to PythonSession. Interpreter is sandboxed using libseccomp.
2015-09-14Add SID to JSON object in UserSession.sendTimotej Lazar
2015-09-14Reimplemented communication with the client side.Aleš Smodiš
* Implemented a node web server supporting asynchronous websocket and long-polling communication with clients. * Implemented TCP communication between python middleware and node web server.
2015-09-03Use multiprocessing.managers for the Python runnerTimotej Lazar
2015-09-01Change hard-coded language to Slovene for testingTimotej Lazar
2015-09-01Add Python support to wsgi_server.{Hint,Test}Timotej Lazar
2015-08-28Add a hint service for PrologTimotej Lazar
2015-08-28Fix SQL in UserSession.update_solutionTimotej Lazar
2015-08-28Add Python session supportTimotej Lazar
2015-08-27Fix a typoTimotej Lazar
2015-08-26Implemented activity service (auto-saving of traces and solutions).Aleš Smodiš
2015-08-25Work on handling activity trace.Aleš Smodiš
2015-08-25Implemented methods to fetch a list of available problems and the problem ↵Aleš Smodiš
description. JavaScript no longer parses pythonic problem descriptions, instead they are loaded by server and JSONized.
2015-08-25Fix a typo.Aleš Smodiš
2015-08-24Split the development into daemon and wsgi_server.Aleš Smodiš
Implemented basic infrastructure for daemon (Prolog), and partial support for services in wsgi_server.