*** alga has quit IRC | 03:14 | |
*** alga has joined #schooltool | 09:28 | |
*** menesis has joined #schooltool | 09:43 | |
*** menesis has quit IRC | 09:53 | |
*** menesis has joined #schooltool | 09:54 | |
*** yvl has joined #schooltool | 10:40 | |
*** alga has quit IRC | 11:26 | |
*** menesis has quit IRC | 12:11 | |
*** alga has joined #schooltool | 12:35 | |
*** Aiste has joined #schooltool | 14:31 | |
*** Aiste has quit IRC | 14:51 | |
*** Aiste has joined #schooltool | 15:12 | |
*** Aiste has joined #schooltool | 15:12 | |
*** menesis has joined #schooltool | 15:25 | |
*** Aiste has quit IRC | 16:05 | |
*** replaceafill has joined #schooltool | 16:17 | |
*** th1a has joined #schooltool | 16:32 | |
th1a | hi yvl, menesis, replaceafill, aelkner. | 16:32 |
---|---|---|
yvl | morning guys | 16:32 |
replaceafill | good morning/afternoon | 16:32 |
aelkner | morning everyone | 16:33 |
menesis | hello | 16:33 |
th1a | OK... | 16:34 |
th1a | So I have a meeting Friday at Critical Links about their appliance, so if there is anything you want me to ask or tell them, let me know. | 16:34 |
th1a | I also managed to update the selenium scripts to run with the current SchoolTool, which was a painful process I've been avoiding for much too long. | 16:36 |
th1a | For whatever reason long selenium scripts tend to randomly fail, and generally I seem to be stretching Selenium IDE to its limits. | 16:37 |
th1a | It is finicky. | 16:38 |
th1a | But anyhow, that's my headache. | 16:38 |
th1a | But that should finally get me moving more quickly on docs. | 16:38 |
th1a | OK... | 16:39 |
th1a | replaceafill, how are you coming? | 16:39 |
replaceafill | good | 16:39 |
replaceafill | i finished the total average values for cambodia | 16:39 |
replaceafill | Monthly Average Score of the Semester | 16:39 |
replaceafill | which is the average of all monthly averages! | 16:40 |
replaceafill | Semester Exam Average Score | 16:40 |
replaceafill | same (average of all semester exam averages) | 16:40 |
replaceafill | Average of the Semester and Annual Average Score | 16:40 |
replaceafill | they're kind of expensive reports, since they look for all the grades for a student to get the results | 16:41 |
replaceafill | also, i sent an email to cambodia, asking them about how to lay out these values in a report | 16:42 |
replaceafill | or a report card | 16:42 |
replaceafill | have had no answer yet | 16:42 |
th1a | Oh, I missed that... | 16:42 |
replaceafill | th1a, i was thinking, maybe i asked too many things in one single email? | 16:42 |
replaceafill | oh, i cc'ed u | 16:43 |
th1a | I see it now. | 16:43 |
replaceafill | funny, i've started to suffer with selenium ide too | 16:43 |
replaceafill | so, i looked at the sample generation service of schooltool | 16:43 |
th1a | It is not industrial strength. | 16:44 |
replaceafill | yvl, for some reason i always thought it was broken someway... | 16:44 |
yvl | sad thing, that it is | 16:44 |
replaceafill | (i mean, the sample data generation) | 16:44 |
yvl | it was and it got fixed at some point, IIRC | 16:44 |
replaceafill | ah, cool! | 16:45 |
replaceafill | it works great for.... "generating sample data" ;) | 16:45 |
replaceafill | yvl, so your comment on my merge request is to prevent a 'plugin...' in the request other than the inteded use of the view? | 16:45 |
replaceafill | i mean the view expects things like: plugin.term, plugin.teachers, etc | 16:46 |
yvl | it's a nitpick | 16:47 |
replaceafill | got it | 16:47 |
yvl | your code will break, if a variabl "plugin" gets into the request | 16:47 |
yvl | with a traceback | 16:47 |
th1a | It is worth giving sample data generation some love. An email letting everyone know what it actually does when your done would be good too. | 16:47 |
th1a | It would be good to focus on the things you can't import from a spreadsheet practically. | 16:48 |
replaceafill | yvl, also, that view uses getutilitiesfor | 16:48 |
yvl | as somebody (menesis?) mentioned last week - available in dev mode only | 16:48 |
replaceafill | but getutilitiesfor doesnt return a specific order, correct? | 16:49 |
replaceafill | i mean, when i was playing with the tests, if i set names like "play" and "work" everything work as expected | 16:49 |
replaceafill | even with "play" and "work.ing" | 16:49 |
replaceafill | but if i change to "play" and "work.hour" | 16:49 |
replaceafill | the order was different | 16:49 |
yvl | yeah, but plugins have dependencies, right? | 16:50 |
replaceafill | yes | 16:50 |
yvl | of course, you can always sort them by name, for the sake of the tests | 16:50 |
replaceafill | correct | 16:50 |
replaceafill | yvl, being more annoying, did you see my email to the dev-list? | 16:51 |
replaceafill | about pyflakes | 16:51 |
replaceafill | specifically about the error in FieldValidator | 16:51 |
yvl | yes I did | 16:51 |
replaceafill | well, importing error | 16:51 |
replaceafill | i didnt understand the advantage of that class vs z3c.form's validator | 16:52 |
replaceafill | i mean, it's no big issue | 16:52 |
yvl | I've no idea why it's there | 16:52 |
replaceafill | i just wanted to know :) | 16:52 |
replaceafill | ah | 16:52 |
replaceafill | ok | 16:52 |
replaceafill | th1a, to finish my report, i also played with the ubuntu font | 16:53 |
yvl | in my mind, the whole person thing is subject to refactoring | 16:53 |
replaceafill | i changed the styles to use it as the first value in the font-family | 16:53 |
replaceafill | like you did with the book | 16:53 |
replaceafill | th1a, it looks smaller, right? | 16:53 |
yvl | umm, please don't forget that Ubuntu font doesn't cover all glyphs at the moment :) | 16:54 |
th1a | Hm... I don't know if I'd say that. | 16:54 |
replaceafill | ah, yvl true | 16:54 |
yvl | it definitely looks more tightly packed ;) | 16:54 |
th1a | If it doesn't have the right glyphs does it just fall back to san serif? | 16:54 |
replaceafill | th1a, i'm going to set up a testing instance in our VM so you can see it, ok? | 16:54 |
th1a | I mean, we aren't worse off in that respect than we were before? | 16:55 |
replaceafill | i guess, it falls back if you dont have it | 16:55 |
th1a | Anyhow, we can shift to it for testing and see. | 16:55 |
replaceafill | i tested spanish letters and it seems to have them | 16:55 |
replaceafill | ok | 16:55 |
th1a | I'm using a plugin in Chrome that makes everything use it. | 16:55 |
th1a | So I've got an all Ubuntu font workspace now. | 16:56 |
* yvl too | 16:56 | |
th1a | So... replaceafill, are you running out of Cambodia tasks? | 16:56 |
replaceafill | kind of | 16:56 |
replaceafill | i have the averages now | 16:56 |
replaceafill | but dont know to display them | 16:56 |
replaceafill | but i will send an email showing the calculatiosn anyway | 16:57 |
th1a | aelkner is starting on similar tasks for the schools in Africa. | 16:57 |
replaceafill | like i did with the montly averages | 16:57 |
th1a | Can you view them in a report sheet? | 16:57 |
replaceafill | no, these are still regular sheets | 16:58 |
aelkner | some averages don't need to be computed from within the gradebook | 16:58 |
replaceafill | i can work on that while i wait | 16:58 |
aelkner | but can be computed in the report card only | 16:58 |
replaceafill | aelkner, right | 16:58 |
th1a | You can view them in a worksheet though? | 16:58 |
replaceafill | th1a, i set up a new view in the person just to display them | 16:59 |
th1a | OK. | 16:59 |
replaceafill | th1a, that's it from me | 16:59 |
th1a | So I'd say the next thing is a followup to that email with screenshots of this stuff to make it a little more concrete. | 16:59 |
replaceafill | th1a, got it | 16:59 |
replaceafill | will do | 17:00 |
*** menesis has quit IRC | 17:00 | |
*** menesis has joined #schooltool | 17:00 | |
th1a | Spending a little time tidying up sample data is good -- just make sure everyone knows what you've done so other people can use it. | 17:00 |
th1a | Do you have some El Salvador tasks? | 17:00 |
replaceafill | ah ok, understood | 17:00 |
replaceafill | yes! | 17:00 |
th1a | OK, you can do that too. | 17:00 |
replaceafill | and the year is about to finish next month | 17:00 |
replaceafill | great | 17:00 |
replaceafill | will work on that | 17:01 |
th1a | And I'll follow up with Cambodia after a few days to give them another push. | 17:01 |
replaceafill | thanks | 17:01 |
th1a | OK, aelkner has some specific questions for yvl, so let's get yvl and menesis out of the way first. | 17:01 |
th1a | Thanks replaceafill. | 17:01 |
th1a | yvl? | 17:02 |
yvl | ok | 17:02 |
yvl | well, I'm currently working on timetable wizard | 17:02 |
yvl | huge thanks to Jeff for comments, by the way | 17:02 |
yvl | basically it is becomming a two-step wizzard | 17:03 |
yvl | Periods: | 17:03 |
yvl | (*) Specify periods for days of the week | 17:03 |
yvl | ( ) Use rotating day cycle | 17:03 |
yvl | Period time schedule: | 17:03 |
yvl | (*) Single schedule, same every day | 17:03 |
yvl | ( ) Differs by weekday | 17:03 |
yvl | ( ) Differs by cycle day (rotating cycle only) | 17:03 |
yvl | and then there's a screen to fill in the data | 17:04 |
yvl | (I'll probably even join both screens, and add [UPDATE] button below the radio boxes) | 17:04 |
yvl | weirdly enough, that seems to cover almost all timetable schema variations | 17:05 |
th1a | Hmm... yes, that sounds good. | 17:05 |
yvl | things not covered (weird cases in my opinion) | 17:05 |
yvl | 1) | 17:05 |
aelkner | i noticed that after creating a timetable there is no way to know what times start | 17:05 |
aelkner | sorry | 17:05 |
aelkner | go on | 17:06 |
yvl | periods are specified for weekdays, but time slots follow, say, 2 day cycle | 17:06 |
yvl | 2) | 17:06 |
yvl | periods follow 5 day cycle, time slots follow 3 day cycle | 17:06 |
yvl | 3) | 17:06 |
th1a | I see... | 17:07 |
yvl | periods follow five day cycle, but are rotated by calendar days instead of school days | 17:07 |
yvl | keep in mind those all are possible by data model, we're just talking about sane UI | 17:07 |
th1a | Are those things we could do now? | 17:08 |
yvl | I pretty sure that no, but I will check | 17:09 |
th1a | I don't think so. | 17:09 |
yvl | by the way, example of (3), three day rotating cycle: | 17:10 |
yvl | Sun ------ | 17:10 |
yvl | Mon Day 1 | 17:10 |
yvl | Tue Day 2 | 17:10 |
yvl | Wed Day 3 | 17:10 |
yvl | Thu ----- | 17:10 |
yvl | Fri Day 2 | 17:10 |
yvl | Sat ----- | 17:10 |
yvl | notice that Firday is Day 2, instead of Day 1 | 17:10 |
th1a | Yes, I don't know why anyone would want that. | 17:10 |
* yvl too :) | 17:10 | |
th1a | So yeah, I'd consider those wacky edge cases. | 17:10 |
yvl | but I'd rather check ;) | 17:10 |
th1a | OTOH, there are more wacky edge case schedules out there than you can possibly imagine. | 17:11 |
th1a | So what you have above sounds pretty good, | 17:11 |
aelkner | yvl, are you changing any of the views so that the user can see what time periods start? | 17:11 |
yvl | yes, aelkner | 17:11 |
aelkner | yeah | 17:11 |
th1a | and then the ultimate fix would just be something that said "OK, if you really want to, you can have the secretary spend an afternoon laying out the timetable manually for every day of the semester." | 17:12 |
th1a | (the time for the ultimate fix is not now, ofc) | 17:12 |
yvl | sure | 17:12 |
yvl | and we can always "add custom timetable" | 17:12 |
yvl | you could do all of the stuff there, it's just more difficult to understand what you're doing ;) | 17:13 |
yvl | again, not now :) | 17:13 |
th1a | Otherwise are you on schedule? | 17:13 |
yvl | I would think so | 17:13 |
yvl | by the way, one feature is kind of accidentally happening | 17:14 |
yvl | It was a pain to fit in homeroom periods as a separate step or something | 17:14 |
yvl | so periods gained a "type" dropdown | 17:14 |
th1a | OK. | 17:14 |
th1a | That could be useful. | 17:15 |
yvl | adding options "Lunch" and "Free period" made sense to me | 17:15 |
th1a | Yes. | 17:15 |
th1a | Good. | 17:15 |
yvl | ok then, that's it for my report | 17:15 |
th1a | Thanks yvl. | 17:16 |
th1a | menesis? | 17:16 |
th1a | I'm now remembering saying last week that we should probably get out the Lucid update this week. | 17:16 |
th1a | What list should I look at to decide what to backport? | 17:17 |
menesis | I was ill and in bed since Tuesday, so got nothing done last week | 17:17 |
th1a | I hope you're feeling better. | 17:18 |
menesis | was fixing buildbot, not really finished | 17:18 |
menesis | yes I am okay now, rested | 17:18 |
menesis | doing lucid update is my next task | 17:19 |
menesis | I will apply all bugfixes that are compatible | 17:19 |
th1a | I'm thinking that we should probably hold back on the security description changes. | 17:20 |
th1a | That could be confusing. | 17:20 |
menesis | the access control change from checkboxes to radio buttons is an example of incompatible change | 17:21 |
menesis | the text changed | 17:21 |
th1a | OK. | 17:21 |
menesis | and a new attribute was added to zcml directives | 17:21 |
th1a | We're on the same page then. | 17:22 |
th1a | Let me know if you have any questions. | 17:22 |
th1a | Oh... | 17:22 |
menesis | as for the list -- I am simply looking at revision log and merge/replay them | 17:22 |
menesis | some bugs are targeted at 1.4 series, for example see https://launchpad.net/schooltool/+milestone/1.4.3 | 17:23 |
menesis | but not all. and not all fixes have bugs | 17:23 |
th1a | Are you updating Karmic now? | 17:23 |
menesis | I haven't touched Karmic or Lucid in a while | 17:24 |
menesis | I make packages for Lucid and then Copy them in the PPA | 17:24 |
th1a | I removed Karmic from the instructions in the book. | 17:25 |
th1a | I figure we at least don't want to encourage people to use it. | 17:25 |
menesis | good | 17:25 |
menesis | no one is going to install Karmic now | 17:25 |
th1a | Yes. | 17:25 |
menesis | but if someone has not updated, then it's little work to make a copy :) | 17:26 |
th1a | Right. | 17:26 |
th1a | That's what I figured. | 17:26 |
th1a | OK. Thanks menesis. | 17:27 |
th1a | aelkner: let's talk rotating text in ReportLab. | 17:28 |
aelkner | yvl, did you see my email to the developer's list? | 17:28 |
yvl | yes | 17:28 |
yvl | did not look into it yet | 17:28 |
menesis | I have looked into it | 17:28 |
yvl | cool :) | 17:28 |
menesis | it is possible to rotate *canvas* for the following drawing operations | 17:29 |
menesis | the rml tag does the same as canvas.rotate | 17:30 |
th1a | So put text on a little canvas in the cell and rotate it? | 17:30 |
menesis | but blockTable parses its xml content | 17:30 |
menesis | so I guess you can rotate all table | 17:31 |
menesis | but not individual cells | 17:31 |
menesis | don't know how best to do that | 17:32 |
menesis | but is possible | 17:32 |
aelkner | one of the links i put in the email thread referred to subclassing Flowable | 17:32 |
aelkner | and rotating the canvas within the draw method | 17:32 |
th1a | Could you just rotate the text and absolutely position it "above" the cell? | 17:32 |
th1a | (i.e., a different layer) | 17:32 |
menesis | it is possible to draw text anywhere on the page | 17:33 |
menesis | but I imagine it would be hard to get coordinates | 17:33 |
aelkner | blockTable row and col widths have to be calculated by the writer of the page template anyway | 17:34 |
aelkner | so calculating other coordinates for drawing text wouldn't be much different | 17:34 |
aelkner | could we consider drawing the rotated headings onto the blockTable | 17:35 |
aelkner | from outside of the table? | 17:35 |
aelkner | as you said, you can draw text anywhere | 17:35 |
th1a | I think that's the proper workaround. | 17:35 |
aelkner | so one could draw OVER a table in theory | 17:35 |
th1a | Yes. | 17:35 |
menesis | I hope it is possible to write a paragraph style | 17:36 |
replaceafill | isn't possible to insert drawStrings in the table header cells? | 17:36 |
replaceafill | and rotate those? | 17:36 |
aelkner | menesis was saying that blockTable rml parses that out | 17:36 |
menesis | not sure but 'rotate' is an unknown tag inside blockTable | 17:38 |
aelkner | i noticed | 17:38 |
aelkner | btw, drawString looks like it only works within a pageGraphics tag, am i right? | 17:39 |
aelkner | isn't it true that pageGraphics content gets rendered on ALL pages | 17:40 |
aelkner | like our footer, for instance | 17:40 |
menesis | looks like it is accepted inside pageDrawing only | 17:41 |
aelkner | menesis, am i right in interpreting pageGraphics to be like the form that every page has | 17:41 |
aelkner | and the story gets drawn on the form? | 17:41 |
menesis | don't know about pageGraphics | 17:42 |
aelkner | yvl? | 17:42 |
aelkner | who wrote the schooltool rml page macro? | 17:42 |
menesis | drawString can be in *pageDrawing* | 17:43 |
yvl | you know, the closest I can think of now | 17:43 |
yvl | is writing a new flowable (like the one you saw on the net) and inject a new RML directive | 17:44 |
menesis | ignas | 17:44 |
aelkner | ah | 17:44 |
yvl | we'll need to change the vertical size of the flowable according to the length of the string | 17:45 |
aelkner | yvl, if you can do that, we could use rotated text in blcokTables? | 17:45 |
yvl | yes | 17:45 |
aelkner | that would be great | 17:45 |
th1a | Could you just explicitly set the vertical size? | 17:45 |
yvl | keep in mind, I've never tried to extend z3c.rml | 17:45 |
yvl | you can | 17:46 |
yvl | I think :) | 17:46 |
th1a | That would do for now, I think. | 17:47 |
aelkner | what's our plan then? | 17:47 |
th1a | yvl is not going to touch this for at least two weeks. | 17:47 |
menesis | a table cell can contain any flowable - we use para. but there's no flowable that draws a rotated string, that has to be written | 17:47 |
menesis | but I have no idea how to do that with rml template | 17:48 |
yvl | I think there is a flowable that can contain drawing directives | 17:48 |
yvl | and it has it's own size | 17:48 |
yvl | looking for it ATM :) | 17:48 |
yvl | sorry, can't find it | 17:50 |
th1a | This is something that we need, but I don't want it to block getting some draft reports together. | 17:50 |
th1a | aelkner: Do you want to try just absolutely positioning first? | 17:51 |
aelkner | Using pageGraphics? | 17:51 |
th1a | I don't know if that's easier just using plain ReportLab. | 17:51 |
yvl | a place! | 17:52 |
yvl | (I think) | 17:52 |
th1a | place? | 17:52 |
yvl | RML tag | 17:53 |
yvl | but probably not it :| | 17:53 |
yvl | got too excited | 17:53 |
aelkner | Flowables (like paragraphs, spacers, and tables) can appear in a story (or in the <place> tag). | 17:53 |
yvl | it does the other thing | 17:53 |
yvl | yes | 17:53 |
yvl | that :) | 17:53 |
yvl | aelkner, you know what | 17:55 |
yvl | check out the plugInFlowable test | 17:55 |
aelkner | test? | 17:55 |
yvl | z3c/rml/tests/input | 17:55 |
aelkner | ah | 17:56 |
yvl | and try to inject this one: http://two.pairlist.net/pipermail/reportlab-users/2006-October/005383.html | 17:56 |
yvl | with "wrap" method of course | 17:57 |
aelkner | the last thing you just pointed to involves sub-classing Flowable | 17:57 |
aelkner | but we can't so that without extending z3c.rml, right? | 17:58 |
yvl | yeah, see z3c/rml/tests/flowable.py | 17:58 |
aelkner | that's a small file | 17:59 |
yvl | you'll be adding the plugin, but who cares ;))) | 17:59 |
yvl | yeah | 17:59 |
yvl | and it does almost what you need | 17:59 |
yvl | it just creates a lot of space instead of rotating | 17:59 |
aelkner | i don't understand what you mean by 'adding the plugin' | 17:59 |
yvl | <plugInFlowable module="schooltool.gradebook.browser.report_something_something" function="RotatedText"> Rotate this </pluginFlowable> | 18:00 |
yvl | this is what you should put into the cell | 18:01 |
yvl | and in report_something_something.py | 18:01 |
yvl | let me paste... | 18:01 |
aelkner | i need a five minute break, can we pick this up after the meeting? | 18:01 |
* th1a drops the bag of gravel. | 18:02 | |
yvl | something like this, aelkner http://paste.lisp.org/display/115665 | 18:03 |
yvl | it's probably buggy, but should be a good starting point :) | 18:03 |
yvl | ok, and the class should be called RotatedText there, but you get the point | 18:04 |
aelkner | yvl, i understand the idea of sub-classing Flowable and changing the draw method | 18:10 |
aelkner | but how do I wire that into my template? | 18:11 |
yvl | <plugInFlowable module="schooltool.gradebook.browser.report_something_something" function="RotatedText"> Rotate this </pluginFlowable> | 18:11 |
yvl | module shows z3c.rml the location of your sub-classed flowable | 18:11 |
aelkner | i'm supposed to be writing rml which z3c.rml converts to reportlab flowables class instances | 18:11 |
yvl | function specifies your class | 18:11 |
aelkner | oh, where do i register that? | 18:12 |
yvl | no need | 18:12 |
yvl | just use it | 18:12 |
yvl | it's a flowable like others - like para | 18:12 |
yvl | just instead of paragraph it will execute the code I pasted | 18:13 |
aelkner | so, inside a <td> i put the <plugInFlowable module=...> part? | 18:13 |
yvl | yes | 18:13 |
yvl | it should do something along the lines: "from schooltool.gradebook.browser.report_something_something import RotatedText" | 18:14 |
yvl | and do the rest of the magic with it | 18:14 |
aelkner | so again, you're saying that if i put my python sub-class of Flowable inside the a python module in my project | 18:15 |
aelkner | it will get picked up by the <plugInFlowable module=...> tag | 18:16 |
yvl | yes | 18:16 |
aelkner | i'll have to give that a try then | 18:17 |
th1a | OK. Sounds good. | 18:17 |
th1a | Thanks yvl & menesis. | 18:17 |
th1a | Have a great week, gentlemen! | 18:18 |
aelkner | yeah, thanks, and great week everyone | 18:18 |
replaceafill | thanks everybody | 18:18 |
yvl | happy coding! | 18:19 |
yvl | (and happy managing to some ;))) ) | 18:19 |
aelkner | th1a, which do you want me to do first, the pdf or the analysis of David's auto-enrollment needs? | 18:22 |
th1a | auto enrollment? | 18:22 |
aelkner | the email he sent about the various grade levels and how they want to be auto-enrolled in various ways | 18:22 |
aelkner | did you see that one? | 18:23 |
th1a | In different sections? | 18:23 |
aelkner | in different ways | 18:23 |
th1a | What kinds of ways are you referring to? | 18:23 |
aelkner | for instance, one set of grade levels should all be enrolled by the group | 18:23 |
aelkner | other grade levels have the need for sub-sets of the group to be enrolled differently | 18:24 |
th1a | OK. | 18:24 |
aelkner | like christians versus muslims | 18:24 |
aelkner | anyway, which task do you want me to do first? | 18:25 |
th1a | I wouldn't phrase it that way exactly. ;-) | 18:25 |
aelkner | :) | 18:25 |
aelkner | didn't mean to be political | 18:25 |
th1a | Hm. | 18:25 |
aelkner | he just referred to how some members of a group will need to be divided out into different classes than the rest | 18:26 |
aelkner | in some cases like religious classes | 18:26 |
th1a | In this case the rotation is for Mpelembe's report card? | 18:26 |
aelkner | no, for David's | 18:26 |
aelkner | the one that uses the new report sheets i auto-generated | 18:27 |
aelkner | for the CA Tests | 18:27 |
th1a | Finish that. | 18:27 |
aelkner | the pdf? | 18:27 |
th1a | Yes. | 18:27 |
aelkner | ok | 18:27 |
th1a | How many steps are left in that job? | 18:27 |
aelkner | 1 | 18:28 |
aelkner | 1) get the rotated text to work | 18:28 |
th1a | Definitely finish that then. | 18:28 |
aelkner | 2) get the view class to look at the report sheets for the data | 18:28 |
aelkner | so i'll start with the first one then | 18:29 |
th1a | Oh... you didn't mean 1 step left. | 18:30 |
th1a | ;-) | 18:30 |
aelkner | :) | 18:30 |
*** menesis has quit IRC | 19:23 | |
*** menesis has joined #schooltool | 20:03 | |
*** alga_ has joined #schooltool | 21:01 | |
*** alga has quit IRC | 21:04 | |
*** replaceafill has quit IRC | 22:57 | |
*** alga_ has quit IRC | 23:22 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!