summaryrefslogtreecommitdiff
path: root/server
AgeCommit message (Collapse)Author
2016-03-12prolog_session: check for generic hints after specificTimotej Lazar
2016-03-01Support experiments field for SAML loginsTimotej Lazar
2016-02-28Experiment: prolog_hintsTimotej Lazar
Given an experiment object read from codeq_user in the form {'id': 'prolog_hints', 'group': 'manual_hints'} selectively enable only manual hints, automatic hints, or no hints. This should probably be reverted once the experiment is done.
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-25Simplify server.handlers.LoginTimotej Lazar
2016-02-25Destroy the pengine before creating a new oneTimotej Lazar
2016-02-25Catch exceptions in server.handlers.Hint()Timotej Lazar
Note: support for explicit Hint() requests will likely be removed.
2016-02-25Add a get_solutions(problem_ids) API functionTimotej Lazar
It returns the user’s solutions to given problems.
2016-02-24Merge hint function into test for {Prolog,Python}SessionTimotej Lazar
2016-02-23Remove obsolete HintSequence classTimotej Lazar
2016-02-22Do not send language in test/hint commandsTimotej Lazar
2016-02-09Decrease timeout for Monkey hints to 3 sTimotej Lazar
2016-01-12Get number of passed/total tests from Prolog test functionsTimotej Lazar
2016-01-05Factor common code out of PrologSession.{hint,run_for_user}Timotej Lazar
2016-01-05PrologSession: only add definitions of predicates that appear in program ↵Timotej Lazar
when testing
2015-12-23Prolog: pass aux. code to problem's test functionTimotej Lazar
This allows us to simplify individual problem test functions.
2015-12-11Only try monkey.fix if we have edits for this problemTimotej Lazar
2015-12-11Use a more general method for extracting editsTimotej Lazar
This is a large overhaul of monkey code. Before, only edits within individual lines were tracked, which required a Prolog-specific method for splitting a program into a list of lines for every rule. In this version, modifications can be tracked within arbitrary code ranges. Ranges to be tracked are determined by selecting "interesting" subtrees in the AST of the starting code version. The new method is simpler, less language-dependent and easier to extend. The downside is that a program must be syntactically correct before we can attempt to fix it (the previous approach could handle programs with syntax errors in some cases). This commit also integrates a call to monkey.fix in prolog_session.hint, by running it if no other hint is found.
2015-12-11Add is_admin attribute to UserSessionTimotej Lazar
2015-12-11Remove unused importTimotej Lazar
2015-12-11Return is_admin field on loginTimotej Lazar
2015-12-10Add copyright infoTimotej Lazar
2015-11-18Handle Prolog engine exceptions in PrologSessionTimotej Lazar
2015-11-17Add optional style attribute for popup hintsTimotej 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-21username added to login replayMarko Pušnik
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-15Store identifiers instead of IDs in Problem modelTimotej Lazar
2015-10-15Implemented minimum support for authentication via SAML with an addition of ↵Aleš Smodiš
a new daemon. TODO: python login with SAML credentials.
2015-10-14Use sandbox for testing Python programsTimotej Lazar
Use interpreter.py for running tests as well as interactive sessions. Signals are now sent with "sandbox <user> kill", so terminator is not needed anymore.
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-12Merge branch 'master' of ssh://212.235.189.51:22122/codeq-serverMarko Pušnik
2015-10-12attributes for profile pageMarko Pušnik
2015-10-12Remove unused server.problems.list_problemsTimotej Lazar
2015-10-12signup: +name +emailMarko Pušnik
2015-10-10Use a selector instead of polling Python interpreterTimotej Lazar
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-07Bugfix: make the as yet unimplemented meta protocol not generate errors on ↵Aleš Smodiš
the Python side.
2015-10-07Add a sandbox for Python interpreterTimotej Lazar
Switch to user "nobody" and set additional limits.
2015-10-06Test user's program before looking for hintsTimotej Lazar