Commit Graph

803 Commits

Author SHA1 Message Date
d48db428c7 Able to draw a burned image 2018-02-14 12:11:06 +00:00
24413ec12e load / save burned state 2018-02-14 12:07:06 +00:00
de0e9b4b98 Make a function to hopefully make something look burnt if it is burnt. 2018-02-14 11:25:32 +00:00
78c9c5472f Adding two more images, one which will be adding a burned-mark onto items which have burned out. The other is a set of initial animations which we will eventually use for showing something burning or sparking. 2018-02-14 11:03:38 +00:00
f00ce5e965 update release notes 2018-02-13 20:36:29 +00:00
1678207546 Change to device is frozen instead of device is bad. I got mixed up in my notes. One of the other future things I wanted to add will have us replace the device, but this fix is not that one. 2018-02-13 20:34:10 +00:00
faf8ed1984 Get broken device replacement working 2018-02-13 18:03:01 +00:00
0df4b14e01 Add context menu item to replace a device 2018-02-13 17:36:43 +00:00
d3124c95bb Network itemhastest 2018-02-13 10:27:11 +00:00
4628f5390c More with device is bad test. On NetTest class 2018-02-13 10:16:14 +00:00
6e052280e1 Add a network test enum for a bad device 2018-02-13 10:14:09 +00:00
b8aeae4840 Somehow the duplicate mac puzzle lost its duplicate mac. Here is fixing it once again. 2017-11-29 11:34:19 -06:00
77e9b45cfe Fix order of level 0 puzzles 2017-11-08 08:19:46 -06:00
08b1781554 update release notes 2017-11-02 08:19:15 -05:00
09c1fcafc3 Prompt to save unsaved changes to translation stuff 2017-11-01 16:09:06 -05:00
4169aeb35e Translation window synchs fields if no field had been set. 2017-11-01 15:58:38 -05:00
6f68fdf9c4 Make any new translation files that need to be made. 2017-11-01 15:20:55 -05:00
cdda440daf Set tooltip describing form prefix 2017-11-01 13:06:54 -05:00
28549a9137 Better sorting 2017-11-01 13:03:02 -05:00
96da03128e initial filter drop-down 2017-11-01 12:57:00 -05:00
45e95666c5 add a list of form prefixes and descriptions to help the translation system. 2017-11-01 10:52:17 -05:00
93b44141ea When a change is made, mark the files dirty so they are saved. 2017-11-01 09:56:27 -05:00
b5949b8090 Get correct editing box 2017-11-01 08:27:10 -05:00
bd4f3af010 able to save translated state of items 2017-11-01 08:19:09 -05:00
8e2d54e924 Make more space 2017-11-01 08:15:07 -05:00
3a04f81dde update when changes made 2017-10-31 18:27:36 -05:00
308857a0d8 sorted keys and added key filters 2017-10-31 16:36:14 -05:00
f1632bb8df populate the item choices 2017-10-31 14:06:26 -05:00
9613182a87 saved message 2017-10-31 13:12:54 -05:00
3d46bd0c2e save form data if we have changed it. 2017-10-31 13:12:23 -05:00
ef47d491f2 track whether the item has been translated yet 2017-10-31 09:08:21 -05:00
3a8adbb7e1 Work if no language file exists 2017-10-31 09:01:51 -05:00
d2f3423a5a track resx language 2017-10-31 09:00:05 -05:00
737ee16718 load in resx file info for all known languages 2017-10-31 08:56:57 -05:00
93f0ee18d7 add start to form translation. Dir choice dialog 2017-10-30 16:47:06 -05:00
83ac52e5dc Add a video for the shared network puzzle 2017-10-26 17:00:05 -05:00
afd8898525 Add Andre as French Translator 2017-10-26 13:14:56 -05:00
c81582d4d1 update release notes 2017-10-26 13:11:38 -05:00
d3053534d4 Add video for Level0_HiddenSwitch 2017-10-26 12:29:31 -05:00
8902dc5be2 Add the actual Video URLs, overwriting the temp ones. 2017-10-26 12:01:34 -05:00
b3027a0ad6 Update release notes 2017-10-25 11:50:44 -05:00
abb4ac0a2f Can add a URL to help topics and puzzles. Clicking (or control-clicking) pulls up the video in a browser. 2017-10-25 11:47:29 -05:00
36b42e64d4 Ability to open a URL that is attached to a puzzle 2017-10-25 10:28:51 -05:00
f929e84d29 Add a localized URL for any map we want to add a URL to 2017-10-25 10:05:11 -05:00
db56e53268 Add a video-play image 2017-10-25 10:04:33 -05:00
e88fc8962a Add a Tab on the translation window. Starting to add ability to translate form items. 2017-10-25 09:36:50 -05:00
26404f3c2b Add capability of a network URL for a puzzle 2017-10-25 09:35:38 -05:00
08ad0da346 Update French Version on starting Puzzles 2017-10-24 16:09:39 -05:00
adc80e95a4 The test hints were out of order. make them show progressively more information. 2017-10-24 14:04:19 -05:00
67210c4d1e Nice message if we try to change the gateway on a device that is managed via DHCP 2017-10-24 11:44:24 -05:00
856d0885f2 Better text for one-net, two subnets puzzles. 2017-10-23 11:52:37 -05:00
1cc715fe67 Fix: level4 WhoDidThat showed up as level0. 2017-10-23 10:22:49 -05:00
0ae21d1a79 Publish sub-version. Bot ready to do a full publish yet. But we want this so we can continue translation 2017-10-16 15:33:01 -05:00
458bfbd7be update release notes for this release 2017-10-16 10:34:19 -05:00
827ed75240 Better display of translated puzzle titles 2017-10-16 10:31:20 -05:00
c027a0335a use translated puzzle names 2017-10-16 10:23:58 -05:00
578812a1e6 Add title to puzzle translation window 2017-10-16 09:00:45 -05:00
e87934331c Add googled French title text to one puzzle for testing 2017-10-16 09:00:29 -05:00
ee918c36ff Level6 Generic French Translation 2017-10-13 13:30:07 -05:00
b12690cc4b Level5 Generic French Translation 2017-10-13 13:18:32 -05:00
584231b701 Level4 generic French translation 2017-10-13 13:11:13 -05:00
2d8aae5a61 Level2 generic French translation 2017-10-13 13:05:56 -05:00
b79fd16384 Level 3 with generic French translation 2017-10-13 12:59:09 -05:00
7737cd7bee Leel1 Generic French translation 2017-10-12 11:17:46 -05:00
291b517c83 Level0 adding French from generic translator. Will have someone fine-tune translation later 2017-10-12 11:08:19 -05:00
2fccf241d7 Fix a null IP address issue 2017-10-05 11:09:31 -05:00
27d3b88083 Fix a dhcp bug with WirelessRouters. Needed better wisdom for returning the appropriate gateway in different modes. 2017-10-05 11:06:59 -05:00
a6db4a82be Version change after publishing the minor translation changes. 2017-10-04 08:20:30 -05:00
30da5e7ab8 Release notes and resizing the translation window 2017-10-03 18:03:13 -05:00
22996529f5 Final touches on translation window. 2017-10-03 17:54:41 -05:00
240671304c More changes to translation window 2017-10-03 15:57:12 -05:00
50452f4ea2 Get text windows to populate 2017-10-03 15:32:16 -05:00
3373c325b3 save last translation window choices 2017-10-03 15:19:18 -05:00
eca5aef396 More translation window basics 2017-10-03 15:07:24 -05:00
82a06495df Allow translation window to show. 2017-10-03 08:53:28 -05:00
c017cb42a3 initial translators window for translating puzzles 2017-10-03 08:46:28 -05:00
5c9cbb3d3e Add items to French resx file in prep for translation 2017-10-03 08:18:46 -05:00
8546f64136 Fix a bug with translated item 2017-09-28 19:47:19 -05:00
e6a1c265f7 better translation stuff 2017-09-28 19:44:25 -05:00
cc24b9d72e Update release notes 2017-09-02 15:04:11 -05:00
62de025513 do not send packets out if there is no IP address for the nic / management interface. 2017-09-01 15:51:08 -05:00
4c68a20e98 autoselect a network on the random network chooser window. 2017-09-01 15:27:49 -05:00
ec6dbe0c3f give a nice message when the random puzzle is solved. 2017-09-01 15:15:16 -05:00
7908de2fe3 Update release notes 2017-09-01 15:03:16 -05:00
d990185687 Choose network for turning into a random network. 2017-08-31 18:56:41 -05:00
290b9d75b2 update release notes 2017-08-31 10:02:56 -05:00
d90259534b Allow firewall to affect packets coming in from a VPN 2017-08-31 10:01:18 -05:00
f437c07ce5 allow firewall rules to affect outbound VPN connections. 2017-08-31 09:43:44 -05:00
f52d1241b8 update release notes 2017-08-31 09:26:27 -05:00
6079754714 Make options save different device captioning. 2017-08-31 09:25:37 -05:00
0f19ca49a8 rearrange the internet home and office network 2017-08-31 09:24:50 -05:00
c753f0ff04 fix wireless breaking routines so they work. 2017-08-30 17:58:08 -05:00
1cd61dd293 use a button to toggle the type of caption to show. 2017-08-30 16:23:04 -05:00
88e65459f2 Add enum for changing captions under devices 2017-08-30 14:18:32 -05:00
7c4ff7aac3 Change to use the new map for testing the random map system. 2017-08-30 14:18:10 -05:00
77a10251bf Add another network 2017-08-30 02:53:37 -05:00
6ce057cc12 ad a gateway to a switch on the "solved" firewalls network. Did it using edunetworkbuilder, so it made lots of changes to the file to add things that it was expecting (vlans, etc) 2017-08-29 16:13:12 -05:00
65dd37f75e default to having the lables on after a random net is built 2017-08-29 16:06:14 -05:00
59992d0e28 Break ethernet by removing the link entirely 2017-08-29 16:01:34 -05:00
41ae808c39 Just in case we have an address like 8.8.8.8 and we try to randomize that. Make sure there is a difference we can randomize. 2017-08-29 15:47:08 -05:00
54ddd2a2af fix bug trying to randomize the octets 0.0.0.0. 2017-08-29 15:44:42 -05:00
2b944891e2 make the distance microwaves and flourescent lights damage things a constant. 2017-08-29 15:32:26 -05:00
36654e837f do not duplicate "breaks." If we successfully break it one way, do not repeat it. 2017-08-29 15:08:31 -05:00
465de0f6b0 make changes to IP and gateway 2017-08-28 18:37:21 -05:00
31e07852cf make IPaddress breakage tools 2017-08-28 18:13:34 -05:00
537bb31835 break more things 2017-08-28 15:17:28 -05:00
094f8cabf7 Add a func to break a wireless key 2017-08-28 15:00:41 -05:00
fffe00ae54 Add a func to break the ssid. 2017-08-28 14:53:23 -05:00
e58a75d84e make it so we can lock ourselves out of a switch 2017-08-27 17:22:26 -05:00
d3b6abf1e1 get the random network visible 2017-08-27 17:06:58 -05:00
fdacb85fe6 more things tracked 2017-08-26 19:05:44 -05:00
c6bee193ce track additional information so we can tell which nic to break, which route to break, etc 2017-08-26 14:56:50 -05:00
ea3f2adb65 Add a test to show the broken item 2017-08-26 08:16:45 -05:00
eddfb773c0 One item to break 2017-08-26 08:09:37 -05:00
75bcd6d0ba more functions preparing to break a network 2017-08-26 08:01:31 -05:00
7a15bbd1ce Add an initial HowToBreak enum. 2017-08-25 19:21:48 -05:00
da92d2dd3d pull out some debug code 2017-08-25 19:18:16 -05:00
4b695db457 grab 5 choices & sort them 2017-08-25 17:03:06 -05:00
e2b4d34e35 move traversalpath dump out 2017-08-25 16:14:43 -05:00
01eb63b401 functions we will need when breaking things 2017-08-25 16:11:06 -05:00
2e73b622e4 register ping arrival in traversal info 2017-08-25 16:02:42 -05:00
4755d0511d register switches in the traversal path 2017-08-25 15:44:51 -05:00
f2f7afc38d links have better names for debugging 2017-08-25 15:37:36 -05:00
743c531c1f capture test traversal dump 2017-08-25 15:32:00 -05:00
c7357f15e4 Add a writeline after dump. Better for debugging 2017-08-25 15:17:07 -05:00
fb1fb82cf4 make initial functions for nonvisual packet processing. 2017-08-25 15:05:12 -05:00
c3fcecdba0 add ethernet and wireless traversal information 2017-08-25 10:41:02 -05:00
eaab7771ff adding traversal information as the packet moves around 2017-08-25 10:37:20 -05:00
9b78092b5a Add a traversal class to the packet. 2017-08-25 10:15:01 -05:00
f4cade1652 make the initial traversial class 2017-08-25 10:13:05 -05:00
7d14ca89bb Add the v into the name 2017-08-25 09:52:37 -05:00
0df2449223 Create an enum for the traversal technologies 2017-08-25 09:51:48 -05:00
9db658f362 initial stubs for creating a random network 2017-08-24 20:03:00 -05:00
985821fa5a Change solved / unsolved menu items to use the new enums. This standardizes the loading of the solved / unsolved networks. 2017-08-24 14:19:27 -05:00
931ba44b69 create enum for solved puzzles 2017-08-24 12:21:11 -05:00
5ca3bb9b83 Upgrade version number 2017-08-24 12:21:00 -05:00
453d6f56d8 Upgrade of version numbers and stuff 2017-08-19 08:00:04 -05:00
2943cfeb5d Merging development branch and EducationMode branch. Will end up with just development branch 2017-08-19 07:48:47 -05:00
d63452813a Impose a small delay in centering items. Makes it work smoother when simply right-clicking to do a menu or something. 2017-08-17 17:27:22 -05:00
4e9399f9b5 Fix an issue when pinging a wireless device by name 2017-08-17 15:10:46 -05:00
1c703c60b5 Get loading / saving of packetmessages working. They had been lost during the clone operation. 2017-08-17 13:50:29 -05:00
7f6c8be406 rebuild the homework tree after we test all of them. That way the results are immediately visible. 2017-08-17 10:43:17 -05:00
e5599ee522 Stop console writeline of testing process 2017-08-17 10:41:51 -05:00
d1828aa0c9 process all the puzzles, not just the one 2017-08-17 10:40:45 -05:00
5dc89ffe37 Do not ding if we are processing stuff invisibly 2017-08-17 10:40:32 -05:00
a928f6b01c test all networks on the test-all 2017-08-17 10:29:37 -05:00
2a96f5866c messages 2017-08-17 10:17:20 -05:00
aed5340351 ability to load / save the messages 2017-08-17 09:57:23 -05:00
c4c5984f21 prep to serialize network messages. for saving results of automatic testing 2017-08-17 07:39:14 -05:00
765eee55d4 leave network test messages in the network so we can retrieve them later. 2017-08-16 19:35:51 -05:00
2e77354c05 Update work-tree after we load in new homework submissions 2017-08-16 19:04:21 -05:00
ce37f24dbd Get net-test to work once. 2017-08-16 11:05:24 -05:00
00f886080f Get invisible Network to complet auto dhcp request at beginning 2017-08-16 10:47:08 -05:00
04782b2456 Hide exporting of password file from students. 2017-08-15 17:24:57 -05:00
63826f9c3e Move changing password after the user has been created. 2017-08-15 17:22:55 -05:00
879944f93f Remove a null-failure 2017-08-15 17:21:18 -05:00
8c600642b6 button calls function to try one for testing 2017-08-14 17:21:24 -05:00
eac09a2d80 Move homework test status to schoolwork class 2017-08-14 16:17:50 -05:00
c07247bb66 Pieces for testing and tracking status of homework checking. 2017-08-14 16:13:17 -05:00
98fae3192f When we check net-tests, we can pass in the network. This allows us to use this func if we do not have a network loaded. 2017-08-14 15:51:05 -05:00
02e3b45cb2 Add "skip visuals" to tick. So we can run lots of ticks without updating visuals. Needed to process tests automatically. 2017-08-14 15:44:56 -05:00
f763016f90 Auto-DHCP on start if we are a teacher and have the check-mark set to do so. 2017-08-14 10:50:56 -05:00
0272ad0363 translate auto-dhcp checkmark 2017-08-14 10:29:37 -05:00
4779bf2425 Add auto-DHCP option to teacher setting window 2017-08-14 10:28:03 -05:00
e086782532 Add a setting to allow networks to auto-DHCP on start. 2017-08-14 10:23:20 -05:00
6fd86bd916 Try a blank password first. - If no password, do not prompt for one. Just use the file (probably prompting for a pass at next login) 2017-08-13 16:52:13 -05:00
6a51ed058a If teacher opens a homework that is already graded. Do not prompt to grade it again 2017-08-12 17:09:35 -05:00
61aa50044e Fix a minor bug where cloned items lost the last ID. Broke all sorts of things. 2017-08-12 17:03:41 -05:00
71f43c4f24 Allow teacher to mark as graded when something is completed. 2017-08-12 16:58:41 -05:00
6fbaf98299 Finish importing one student file if we are a teacher and open a student file. 2017-08-12 16:31:56 -05:00
392c8c8b35 prep for admin loading in one student file 2017-08-12 16:05:54 -05:00
cff1dada9c finish commit 2017-08-12 15:40:48 -05:00
aaa39b3d16 ask sutdents to log out before opening a new user file. 2017-08-12 15:40:27 -05:00
68bdd59727 Add the ability to log out 2017-08-12 10:34:43 -05:00
c905a5a952 Pop up a "submit homework" button when the homework has been completed. 2017-08-11 15:25:22 -05:00
042d66e7c9 Move submit homework to separate function. So we can call it separately. 2017-08-11 15:06:50 -05:00
840a6877bf set tooltip for class, name, and description. the boxes are too small to see the whole thing. Mouseover does tooltip so you can see it. 2017-08-11 15:05:22 -05:00
765789226e Reverse the sort for the admin. The list is traversed in reverse elsewhere. This makes them sort the same 2017-08-11 15:01:09 -05:00
db6cdff653 Sort the projects consistantly. Class -> Due Date -> Save Date 2017-08-11 14:56:40 -05:00
f478221169 Get teacher to set a password at the beginning 2017-08-11 14:44:10 -05:00
6bfc101468 Change password at first login. Do not accept no as an answer. 2017-08-11 14:37:24 -05:00
16c009b432 Move change password logic to person 2017-08-11 14:34:35 -05:00
ed6c37194c better importing of student information when we read in the homework. 2017-08-11 10:16:49 -05:00
217ac4dbd7 Write student csv file - includes generated passwords if it was set up to create new PWs for students who did not have any defined 2017-08-10 16:32:45 -05:00
50a04dbef0 functions to make student csv file 2017-08-10 16:07:33 -05:00
ed48b943aa We cannot delete or give submitted homework 2017-08-10 15:42:41 -05:00
15e0092699 Fix a potential null reference bug 2017-08-10 15:35:56 -05:00
e864276316 Fix teachers see ungraded homework as being bold 2017-08-10 15:30:22 -05:00
327722bc97 whitespace fix 2017-08-10 15:26:06 -05:00
88a15caf88 Get encryption working for teacher 2017-08-09 17:01:30 -05:00
e6518e3918 Get encryption / decryption working for users. 2017-08-09 16:52:54 -05:00
1e598470ef Get the load func in place 2017-08-09 16:34:42 -05:00
8574d61349 get saving encrypted to work 2017-08-09 16:22:34 -05:00
66657507ed Save an encrypted person class 2017-08-09 16:20:05 -05:00
e4edd9bf5a convert personclass writer to xml document so we can encrypt. 2017-08-09 16:03:19 -05:00
490a8d1b04 Throw a better error when we try and fail to load something. 2017-08-09 15:52:31 -05:00
3136228e76 Changes to allow encryption 2017-08-09 15:32:04 -05:00
b6bcd7aff2 submitted label visible for students when something has been submitted 2017-08-09 10:11:55 -05:00
b1c415c686 Mark items needing attention as bold. Students see un-submitted homeworks bolded. Teachers see ungraded homework bolded 2017-08-09 09:32:32 -05:00
405d45e164 Double-click homework in profile launches it 2017-08-08 19:01:42 -05:00
fc39ba71c6 Import homework for teachers. Let them export all the homework for a class and import it for another class 2017-08-08 17:45:45 -05:00
aeb61ebcf1 change idea in psuedocode for how to handle admin bulk import of homework. Simplified it considerably 2017-08-08 14:31:03 -05:00
e1515c7a4f import homework for students 2017-08-08 14:19:56 -05:00
0acb89c429 Fix homework export 2017-08-07 19:31:36 -05:00
43516d5b89 Fix schoolwork loading bug 2017-08-07 19:27:59 -05:00
e13341010b Finish the save 2017-08-05 21:39:57 -05:00
f49705ec11 set up to load schoolwork 2017-08-05 19:35:15 -05:00
6467013f52 getting ready to load homework 2017-08-05 19:22:36 -05:00
8fe0cf2df7 Add selected homeworks to a list 2017-08-05 17:11:55 -05:00
b70948e8da Prompt for which homeworks to include 2017-08-05 17:01:37 -05:00
e612b8eb29 rename the export homework button 2017-08-05 16:56:25 -05:00
9905d2e2cb Get person files to auto-backup when we save them. 2017-08-05 13:11:26 -05:00
22552ce1a9 Create basic backup file rotation functions and direcories. 2017-08-05 12:41:42 -05:00
362b3a60a3 Error out (nicely) if the file has been tampered with (if the username does not match the file name). This will only really be useful once we have encryption. 2017-08-05 10:26:48 -05:00
99ff6e092d fix a small issue that kept submissions from continaing the real information. 2017-08-03 14:33:06 -05:00
3bf05ed8ff fix a bug with cloning. 2017-08-03 14:21:05 -05:00
c31133f786 Hide delete, give and save buttons if we are not the teacher. 2017-08-03 12:01:38 -05:00
69df135025 Deal with "recent" files that get deleted. Show a file not found error. 2017-08-03 11:46:27 -05:00
e8c8369176 Update list of students after we do a student import 2017-08-03 11:46:04 -05:00
288c47e885 Network links 2017-08-03 11:37:59 -05:00
e6a920676d Rest of machine password code 2017-08-03 11:37:45 -05:00
4c921ab280 Process for connecting a network link to the device it is connected to. Without this, cloned networks fail. 2017-08-03 11:36:53 -05:00
ff37a1b0ef Make a machine password. Will be used to let the admin user open student files 2017-08-03 11:35:29 -05:00
1396b72752 Import student submitted homework 2017-08-02 17:31:12 -05:00
8134d8cb82 Mark something as graded 2017-08-02 17:07:12 -05:00
55ceeecac1 Add foundation for tracking which items have been graded. 2017-08-02 17:04:15 -05:00
d5f58e2878 Mark a few buttons as not yet implimented 2017-08-02 16:57:50 -05:00
b9b9dbdf34 Add a not-yet implimented message 2017-08-02 16:57:04 -05:00
1a94d5e671 Allow admins to add or update a network. If we want to have two similar networks; the teacher can have one that was based off the other. 2017-08-02 15:37:29 -05:00
eeb0536b07 Add some non-operable buttons. Just to get the idea across for now. Export all homework, Push homework to all students. 2017-08-02 15:35:43 -05:00
7265b07e0e Students cannot change due date, admins can 2017-08-02 15:28:02 -05:00
538490087d Sort by due date, and submission date 2017-08-02 15:27:27 -05:00
a8f7b94e6c Students can submit homework 2017-08-02 14:54:50 -05:00
7a77de7ea9 More space for the classwork tree 2017-08-02 14:41:57 -05:00
bbbb62ab14 Hide generate file and import user buttons if not teacher 2017-08-02 14:39:37 -05:00
217371a96f Show student homework 2017-08-02 14:37:18 -05:00
e488291152 Save homework file button works 2017-08-02 13:03:14 -05:00
f6778026f2 Able to save / load schoolworkclass 2017-08-02 12:50:25 -05:00
3a30476c8f Tooltips for give and save buttons 2017-08-02 12:46:11 -05:00
6648d6378d Allow submit classwork menu item to show 2017-08-02 12:41:09 -05:00
f2e9cae817 Hide give and save buttons if we are not the teacher 2017-08-02 12:38:10 -05:00
6198079bae fixed Bug with cloning schoolwork. Missed cloning ID. 2017-08-02 12:29:29 -05:00
e8d62bc914 Give homework and print stats 2017-08-02 12:17:20 -05:00
c4e24b8c98 translate save and give buttons 2017-08-02 12:03:35 -05:00
2fe4a23638 Make give and save homework buttons 2017-08-02 11:59:42 -05:00
7b98466db2 update comments 2017-08-02 11:44:22 -05:00
d31727efcc change some settings for initial users
Store filepath for user files so we can update them individually
2017-08-02 11:42:33 -05:00
f1da7f9d97 generate initial student files 2017-08-02 11:34:53 -05:00
0ba762fe01 Choose a directory for the users files 2017-08-02 11:25:26 -05:00
b1e015e624 Add a button for generating student files 2017-08-02 11:10:34 -05:00