Friday, 2009-07-03

*** tpb has joined #melange00:00
*** dukeleto has quit IRC01:42
*** jamtoday_ has left #melange02:04
*** jamtoday has joined #melange02:05
*** madrazr has joined #melange02:40
*** ChanServ sets mode: +v madrazr02:40
*** dukeleto has joined #melange03:53
*** mithro has quit IRC04:24
*** solydzajs has joined #melange04:26
*** ChanServ sets mode: +o solydzajs04:26
*** tansell_laptop has quit IRC04:26
*** MatthewWilkes has quit IRC04:54
*** Lennie has joined #melange05:08
*** ChanServ sets mode: +o Lennie05:08
Lenniehi jamtoday ajaksu05:08
jamtodayLennie: pong05:09
Lenniehi05:09
jamtodayis this a good time for some real-time discussion?05:10
jamtodaydiscussion + coding05:10
Lenniei think so05:10
*** Lennie sets mode: +v jamtoday05:10
LennieI just read the survey_helper patch from you05:11
Lennieand I don't feel happy about passing along the user05:11
Lenniejust a method that adds the grade field to an existing form is enogh05:12
jamtodayI see, good idea05:12
Lenniethe overriding subclass will just call that method to get its form05:12
jamtodayyes, makes sense05:12
Lennieand the rest can stay the same05:12
Lennietoo bad daniel's patch is giving errors :(05:12
jamtodayCan a subclass perform any commands after the base class?05:12
Lennieyes05:12
Lennieor before05:13
Lennieor during05:13
LennieI'm thinking about making a new method for getting the appriopriate form in the view05:13
Lenniewhich the subclass will override and just add the grade field to it05:13
jamtodayI see, so editGet and take and _public would all call one view05:14
jamtodayto be fair, they have some important differences05:14
Lennieno not one view :)05:14
Lennieone method in view classs05:14
Lenniethat gives them their form05:14
Lennieor something liek it05:14
jamtodayyes, and then that in turn calls the helper05:14
Lennieindeed05:14
Lennieone view is nearly impossible05:14
Lenniethat would be too ugly :D05:15
jamtodayI didn't know if I had the right idea about passing the project key as a GET param05:15
jamtodaydid you notice that?05:15
Lennie?05:15
LennieI havent seen it05:15
jamtodaySo....this is evaluation specific.05:15
LennieI know I didi it :P05:15
jamtodayImagine you have multiple mentor projects to choose from, and you've already taken the survey once for one project05:15
jamtodayI need to be able to get the saved_project as a param, and I get that by adding it to the URL when you choose your project from the dropdown field05:16
Lenniehmm05:16
jamtodayit's a pattern I've used in other web apps, but wasn't sure if it was in the GSOC style05:16
LennieI'm not showing dropdown :)05:16
LennieI'm just showing a list with information05:16
jamtodayyeah its broken now, one of the things I'm working on05:16
jamtodaya list of information...?05:16
Lennieyeah a list of all possible projects for which you can take this survey05:16
jamtodaySo the survey is shown once per project05:17
jamtodayand when you submit you submit for all of them05:17
jamtodaythat's another way to do it, I thought it would be strange to do it that way05:17
Lennieit's the easiest way for me atm05:17
ajaksuhi guys, good time for me :)05:17
Lennieyour patch is borked ajaksu  :P05:17
*** MatthewWilkes has joined #melange05:18
jamtodayLennie: what error is being thrown?05:18
ajaksuLennie: looking into it :)05:18
Lenniesomething related to his patch05:18
Lennieits on the mail05:18
Lenniewhich you can't read :(05:19
Lenniedamn your connection :P05:19
jamtodayI discovered a terrible Tmobile exploit, but more on that later05:19
jamtodaymy andy passed the 30 day free deal, so I am doing all kind of odd things to try to access gmail05:19
Lennie:P05:19
jamtodayajaksu: just blame it on app engine :)05:21
Lennieajaksu: while youare looking into it05:21
Lenniecan you move the COMMENT_PREFIX to models/survey05:21
Lennieand just do from soc.models.survey import COMMENT_PREFIX ?05:22
Lenniesince it is not really view specific but more data-storage related05:22
jamtodayajaksu: the required fields is working great05:23
Lenniehis form validation patch is what fails here05:23
Lennieso haven't tested required fields yet :)05:23
LennieI gotta fix some bug I overlooked brb :P05:23
ajaksuLennie: getSurveyResponseFromPost:747 should be "schema = SurveyContentSchema(survey.survey_content.schema)"...05:24
Lennieajaksu: Send me an edited patch :D05:24
ajaksuLennie: sure, just giving real time feedback :)05:25
Lennieok :)05:25
Lenniealso05:25
LennieI renamed record to post_dict05:25
Lenniesince it is so confusing with survey_record :)05:25
ajaksuso line 170 should be "if comment_name in post_dict or comment_name in self.survey_record:"05:27
Lenniehmm05:28
ajaksure-diffing :)05:28
Lennieyeah05:28
Lenniebut05:28
Lenniethat would still break05:28
Lenniesince survey_record is not always defined05:28
Lenniethat was the error I was getting05:29
Lenniewhen creating a survey05:29
ajaksuright, self.survey_record needs hasattr instead05:29
ajaksuif it's None, it hasn'tattr05:29
*** MatthewWilkes has quit IRC05:29
*** MatthewWilkes has joined #melange05:30
ajaksu( I guess I only tested this with the second patch applied, as the line becomes 'if schema.getHasComment(field):' )05:30
Lenniehehe05:30
Lenniepatch dependencies hurray :P05:31
ajaksuLennie: can I literally edit the patch or should I re-diff?05:32
LennieI think rediff is saver?05:32
Lenniesince I asked for some renames and moving the PREFIX05:32
ajaksumoving the PREFIX? where did you ask that?05:34
Lenniein IRC :P05:37
Lenniemy fail ^_^05:37
LennieWhen I reviewed it I moved it to the survey module05:37
Lenniebecause it is about datastrage05:37
Lennieand not just view-specific05:37
ajaksuLennie: done fixing and renaming, do you want me to include the moving or can you use yours?05:46
Lenniejust include it :)05:46
Lennieshouldn't be too hard afaik05:47
Lennieput it in the model and do from soc.models.survey import COMMENT_PREFIX05:47
ajaksuand rediff the other patch :)05:47
Lenniehehe ^^05:47
*** florinciu has joined #melange05:48
ajaksuLennie: you might want to skip testing new patch until I test it :)05:55
Lennieok05:56
Lennielemme know05:56
Lennieso06:03
Lenniestupid thinking error fixed :)06:03
ajaksuwhose? :)06:04
Lenniemine06:05
Lennieso how is the patch testing coming along ajaksu?06:12
Lenniejamtoday: anything you want to discuss?06:14
* jamtoday is getting his flash drive out06:14
jamtodaypatches coming in minutes...06:15
ajaksuLennie: found a stupid lack of support for the new fields in JS, fixing it :)06:15
Lenniejamtoday: as soon as the method for extending the form with a grade field is out there I'll get the GradingProjectSurvey up and runnign06:15
jamtodayLennie: ok. I'm on it as soon as I publish the logic patch06:17
Lenniejamtoday: what's wrong with the logic atm?06:18
jamtodayit needed a lot of refactoring, all of the if/else for mentors and students subclassed, DRY methods06:18
jamtodayhowever, I am wondering if a ProjectSurvey is ever for a mentor06:18
Lennienope is never :)06:18
jamtodaygreat, then this should work wonderfully06:18
Lennieatleast not in the current setup :P06:18
jamtodayit's functionally the same06:19
Lennietrue06:19
Lenniebut I don't want to think about it :D06:19
Lenniebut what's there to subclass then?06:19
jamtodaybtw I am taking a flight tomorrow, I am brewing coffee now so the plan is to sleep on my plane and pretend I have jet lag :)06:19
jamtodaythe getProjects for student and mentors06:20
jamtodaythe implementation was messy06:20
Lennieoh06:20
jamtodayand now it lends itself to a separate access check using the same method06:20
Lenniehmm06:20
Lenniebut fetching those projects is already being done somewhere else06:20
jamtodayit is?06:21
Lennieyosh06:21
Lennieatleast for the student it is now06:21
jamtodayln?06:22
Lennieproject_survey view06:22
Lennieline 16106:22
jamtodaysetSurveyRecordGroup?06:22
Lennie?06:23
jamtodaythis is actually another spot I can subclass06:23
jamtodayoh, nevermind06:23
LennieI'm not thinking about recorgroups now06:23
Lenniethey are not important for gathering data :D06:23
Lennieatleast not on monday :)06:23
Lenniehurray for task api :P06:23
Lenniebut yes06:24
Lenniecertain functionality should move out of the survey logic06:24
jamtoday_selectProjects06:24
Lennieoui06:25
jamtodaythis list view hasn't worked for me, perhaps I should revert and test this06:25
jamtodaythis is preferrable to the dropdown?06:25
Lenniehmm06:25
Lennieit is easier for now06:25
Lennieatleast for me :P06:25
jamtodaybut the other one already worked :)06:25
jamtodayanyways, I'll post the patch and we can revisit this06:26
Lenniehehe06:26
Lennieafaik the other one failed because you couldn't do the same survey twice for different projects06:26
Lenniethat's why I decided to ahve the user select something up front :P06:26
jamtodayit should have let you....I programmed it to refresh the page with the project GET param, which would load the specified form06:27
Lennieyeah I was talking about a week ago06:27
LennieI think you are a talking about yesterday's patch?06:28
jamtodaybtw, this is also the patch for adding the grade Field06:28
Lennieif we are redirecting with get anyway06:28
LennieI rather keep the list06:28
Lennielooks more bulky :D06:28
Lennieprobably gives more information as well06:28
jamtodayajax was a TODO, that would have been so nice and responsive... :)06:29
Lennieyes06:29
Lennieit can still be a TODO :)06:29
Lenniejust not high on the prio list :P06:29
jamtodayI'll post three patches, two will be tiny changes to view and helper, and the big logic patch06:29
Lenniehmm06:30
Lennieok06:30
jamtodaythey're all needed for the grade field06:30
Lenniereally?06:30
jamtodaythe addGradeField is in logic, the getExtraFields is called from view06:30
jamtodayand actually since you don't have my current helper, you dont need the third patch06:30
Lenniethe addgradefield is in the logic?06:31
Lenniebut that's something view specific right?06:31
jamtodayyes, now that you put it that way....06:32
jamtodaybrb, making the changes06:32
LennieI can imagine that the logic patch will remove all mentor student junk that is still in Survey logic06:33
Lenniethat's for sure :)06:33
Lenniethe getExtraFields or something will indeed have to be called from the view06:33
Lenniebut does not need to be returned as a surveyrecord entry by the method in the helper06:34
Lenniebecause it is not in the survey schema06:34
Lenniethe GradingProjectSurvey view can extract it on its own06:34
Lenniedo whatever it wants with it and then store it :)06:34
Lennieas the boolean06:34
Lennieatleast that is what I had in mind06:35
Lenniedon't know if it's reasonable06:35
Lenniebut to me it sounds sane06:35
jamtodayI am calling getExtraFields from the takeGet06:38
*** Lennie has quit IRC06:38
*** Lennie has joined #melange06:39
*** ChanServ sets mode: +o Lennie06:39
Lennieso had to reboot :)06:40
Lenniemy mac was somehow feeling slow06:40
Lenniemust be the heat :P06:40
Lenniejamtoday: ping06:44
Lenniejamtoday: Does it make sense?06:44
MatthewWilkesLennie: hah, we had the thunderstorm last night, it's livable now :)06:45
Lennieit has just rained here06:45
Lenniewindows are open06:45
Lenniefresh air!06:45
jamtodayLennie: so now there is two patches, the big one is grading_project_survey.py, and the one-line patch for survey view06:49
jamtodaybecause _takeGet needs to have the survey form passed06:49
jamtodayin the params06:49
jamtodaysound.....sane?06:49
Lenniehmm06:50
Lenniethe later I'm not sure off06:50
LennieI think Daniel did something else06:50
jamtodayhmmmm....in one of his latest patches?06:52
Lennieyes06:52
Lennieajaksu: Ping06:52
jamtodayalright, i will post mine anyways06:53
Lennieajaksu: have you tested your patch yet? I can't take the survey again :)06:53
ajaksuLennie: pong06:53
Lenniesoc/views/helper/surveys.py", line 653, in getSurveyResponseFromPost06:53
Lennie    if name not in schema:06:53
ajaksuLennie: I'm strugging with JS, so didn't get to that error yet, but I see why it happens (me being dumb)06:54
Lennieok06:54
Lenniejamtoday:06:56
Lenniewhat does the big one for grading_project_survey do?06:56
LennieI'm gonna get myself a cold shower and lunch06:59
Lenniettys06:59
jamtodayinternet fail07:00
jamtodayLennie: uses _takeGet hook to call addGradeField, taken from logic where it shouldn't have been07:00
ajaksuyay for forgetting how to chain jquery selectors :/07:02
Lenniejamtoday: sounds promising07:11
Lennielunch time :)07:12
*** jamtoday has quit IRC07:23
*** jamtoday has joined #melange07:47
jamtodayinternet router in a room where someone is sleeping. Never a good life design decision07:47
Lenniehehe07:47
Lennie^^07:47
jamtodayLennie: you got the patch?07:47
Lennieyes I got it07:47
Lenniebut it will be a few hours before I can review it07:48
Lenniemaybe you want to get some sleep?07:48
jamtodayIt would be a fun experiment to not sleep, but yes. agreed07:48
jamtodaynot fun for survey takers, perhaps07:48
Lenniehehe07:48
jamtodayttys07:49
Lennieyes07:49
Lenniehmm07:49
Lenniewhat's your plan for tomorow07:49
Lennieyou needed to fly?07:49
*** b0le has left #melange07:52
*** madrazr has quit IRC07:59
ajaksuwoot, Merio is giving us cross-browser UI clues! guy knows his JS and CSS :)08:39
ajaksuLennie: can we kidnap Merio after GSoC ends, so Melange always has nice CSS and JS?  :)08:40
Lenniehehe08:41
Lennieajaksu: tbh we might yes08:41
Lennieajaksu: depends on his performance :)08:41
Lennieajaksu: ping08:44
LennieI need another patch :D08:44
ajaksuLennie: if I could vote, I'd vote for "he's helped me enough already" ;)08:44
Lennieajaksu: your vote is welcome but he first has to go through GSoC :D08:44
ajaksuLennie: for required/has_comment? sure08:44
Lennieno08:44
Lenniethat is kinda working :)08:44
Lenniethe problem is08:44
Lenniethat we are now really using the django forms08:44
Lennieso08:44
Lennieerror are now popping up because wrong widgets seem to be used08:45
Lenniewhen you create a survey08:45
Lenniewith a questoin08:45
Lenniethat allows checkboxes08:45
Lenniewith pick_multi08:45
Lennieonly one answer is returned by Django08:45
Lenniewhile I should be able to pick multiple08:46
ajaksuLennie: ok, let me check it08:46
Lennietestcase is easy08:46
Lenniejust choice question08:46
Lenniewith pick multi08:46
Lennie(and what does pick_quant mean btw)08:46
ajaksu(OT:  here's a preview of our export as JSON if we prettyprint it http://paste.pocoo.org/show/126495/ )08:47
tpbTitle: Paste #126495 | LodgeIt! (at paste.pocoo.org)08:47
Lennieoh08:47
LennieI see another problem08:47
Lennieit doesn't even store pick_quant if I choose it08:47
Lennieit just sticks to pick_multi08:47
ajaksuLennie: means 'pick_one as radio buttons', used to mean 'helper for rating-like questions'08:47
Lennie?08:48
ajaksuLennie: can you try pick_quant + radio_buttons? jamtoday was working on JS to couple the type to render, not sure it works08:48
Lennieaha08:49
Lenniethanks ^^08:49
Lennieand selection only maps to select?08:50
Lenniewhich would be more clear if i'd dropdown :D08:50
Lennieany08:50
LennieI can't select multiple items08:50
Lenniebecause the widget clean only returns one08:50
Lennieso probably wrong setting for that widget08:50
Lenniebrb08:53
Lennielemme know what you find :)08:53
ajaksuLennie: cannot reproduce yet, still trying :)08:55
Lenniedon't forget to update :)08:55
Lenniesince it happens because I made changes to your patch08:55
Lennieso that it works with the cleaned data instead of sticking to the properties gotten from the method in the survey_helper08:55
ajaksuok, updating :)08:57
Lennieto be clear08:57
Lennieit is now the form's responsibility08:57
Lennieto have right field names08:58
Lenniefor things that need to be stored08:58
Lennieon POST08:58
Lenniewe create a new empty form08:58
Lenniefrom the survey schema08:58
Lennieand then insert the POST data08:58
Lenniewe're not calling getSurveyResponseFromPost anymore :)08:58
ajaksuso maybe we're missing a POST.getlist from getSurveyResponseFromPost ?08:59
Lennie?09:00
Lenniewe are not calling that method09:00
Lenniewe don't use it09:00
Lenniethe Django form just returns one choice09:00
Lenniebecause the widget might be wrong09:00
LennieI've just removed the getSurveyReponseFromPost from our codebase :)09:00
ajaksuI meant: getSurveyResponseFromPost would call POST.getlist(field) for multidicts (as pick_multi), do we do that now? :)09:01
Lennienope09:01
Lenniebut I think Django has a widget for multi-selection09:01
Lennieyou should pull the latest update in09:01
Lennieand take a look :)09:01
LennieI'll brb09:01
ajaksustill going through your changes :)09:02
ajaksuk09:02
Lennieok :)09:07
Lenniethe system now works just like the rest of Melange09:08
Lennieit creates a form09:08
Lennieinitialize it with post data09:08
Lenniedo the cleaning09:08
Lennieand read all the fields if there is no FormValidationError09:08
ajaksuLennie: fixed09:10
LennieI'm interested in the cause :D09:10
Lenniewhat was it?09:10
ajaksuwe should use getlist for multiple values per key :)09:11
Lennieand we're doing something else :P09:11
Lenniebut we were doing it right in getSurveyResponse....09:12
Lennie?09:12
ajaksuyep, fix is making it right in getFields09:12
ajaksubtw, the widget we use is  PickManyCheckbox(forms.CheckboxSelectMultiple)09:12
Lenniestrange09:12
Lenniewhy doesn't it work...09:12
ajaksuPOST isn't a plain dict, so POST[key] only retrieves one value from the possible many associated to key, IIUC... but I'm not sure there isn't a django idiom for this :)09:16
Lenniehmm09:16
LennieDjango doesn't take that into account?09:16
Lennieisn't it just because we are setting the data in getFields?09:16
Lennieinstead of letting the request.POST intiate the form09:17
Lenniehttp://docs.djangoproject.com/en/dev/ref/forms/api/09:17
tpb<http://ln-s.net/3Rx7> (at docs.djangoproject.com)09:17
LennieI might be talking bullshyt (google Anathem if you think that this is a typo)09:18
ajaksuLennie: I think you're right... I would try to learn the django way so we could get rid of or simplify getFields, if someone told me it was a priority ;)09:18
Lenniehmm09:19
Lenniego for it :)?09:19
ajaksuyay, learning django :)09:19
LennieI commited your fix btw09:22
Lenniealteast it works now09:22
Lenniebut anyhow09:22
Lenniethe rest of Melange would do SurveyForm(request.POST)09:22
Lenniebut ofcourse you need to generate the form first before doing that ^^09:23
ajaksuLennie: I think jamtoday had it working like that, but as we don't actually define a Form nor a Model with static fields, getFields was mostly a way to keep field order09:25
Lenniehmm09:25
Lenniefield order can still be defined09:25
ajaksuyep, trying to figure that out but I know once I saw a way :)09:26
ajaksuin the django way, it seems my earlier idea of having SurveyForm and SurveyEditForm would make most other code in getFields unnecessary09:26
Lenniehmm09:29
Lennienot sure09:30
Lenniewhy the difference?09:30
Lenniewhat is the difference actualluy09:30
Lennieis one for creating and the other for taking a Survey?09:30
ajaksugetFields is currently responsible for rendering or not the edit fields (required and has_comment), plus showing the choice editor if in edit view09:31
ajaksuone for creating/editing, the other for taking09:31
Lenniewould indeed sound nice09:35
Lennieif you could make that happen ^^09:35
Lennieand if possible09:35
Lennieanother patch09:35
Lenniethe tooltips don't seem to be stored09:36
Lennie(yes we're getting into beauty issues now)09:36
Lenniewhich is kinda god :)09:36
Lenniegood09:36
ajaksuexplain "don't seem to be stored": do you want a field in edit view to set tooltip per question?09:37
* ajaksu hopes so09:37
Lenniewe have that09:37
Lennieright?09:37
Lennieit says type custom tooltip here09:37
Lenniebut the tooltip doesn't get saved09:37
Lennie:)09:37
Lennieand it seems that you can't set a tooltip for the selection questions?09:38
ajaksuLennie: actually that would be a "Write a Custom Prompt For This Question..." and the custom prompt should be shown inside the input (I never liked this idea, would love to move to tooltip)... the not storing was probably me breaking JS by adding a fieldset09:40
ajaksuso I can fix saving the custom prompt, or that plus putting it on a tooltip, or those plus adding a custom prompt for choice questions :)09:41
Lenniehmm09:41
Lennieaha09:41
Lennieit was supposed to be in the question09:41
Lenniehmm09:41
ajaksu(which had the issue the prompt disappears when you start typing... maybe for text questions it could be shown in both places?)09:42
* ajaksu fixes JS09:42
LennieIt doesn't dissapear because you are typing09:43
Lennieit just fades because you haven't moved your mouse09:43
Lenniehmm09:44
LennieI gotta go in a few mintues09:44
Lenniegot some traveling to do09:44
ajaksuno, I meant the in-textarea prompt would disappear09:44
Lennieaha09:44
Lennieyes09:45
Lennieofcourse :)09:45
Lennietooltip  would be better indeed09:45
Lennieor even both09:45
Lenniealthouh tooltip alone is enough09:45
Lennieboth might be messy :P09:45
ajaksuI have the unravelling of getFields and fixing custom prompts/tooltips storage/display in my todo list, if I fix those before you're back I can try the results view again :)(09:45
Lenniehehe09:45
Lenniethanks09:46
LennieI always disliked getFields09:46
Lennienever really understood it :)09:46
Lenniewhen I get back in like 1.5h I'll do the grade field09:46
Lenniefrom James patch hopefully :)09:46
ajaksugreat, I thought you were going for some > 8h travel, glad to know it's not that long  :D09:47
*** dr__house has joined #melange09:47
*** madrazr has joined #melange09:48
*** ChanServ sets mode: +v madrazr09:48
*** Lennie has quit IRC09:49
*** solydzajs has quit IRC10:00
*** solydzajs has joined #melange10:03
*** ChanServ sets mode: +o solydzajs10:03
*** dr__house has quit IRC10:06
*** solydzajs_ has joined #melange10:07
*** dr__house has joined #melange10:07
*** mithro has joined #melange10:14
*** ChanServ sets mode: +v mithro10:14
*** dr__house has quit IRC10:19
*** dr__house has joined #melange10:19
*** solydzajs_ has quit IRC10:19
*** solydzajs has quit IRC10:22
*** jamtoday has quit IRC10:28
*** Merio has joined #melange10:39
*** ChanServ sets mode: +v Merio10:39
ajaksuMerio: huge thanks for taking a good look at out CSS, I'll be able to test safari on windows plus ie sometime today, so I might be able to apply your suggestions and figure out how non-hidden divs get hidden  :)10:51
*** Merio has quit IRC11:06
*** Merio has joined #melange11:14
*** ChanServ sets mode: +v Merio11:14
*** Lennie has joined #melange11:37
*** ChanServ sets mode: +o Lennie11:37
Lennieoh no he's back!11:37
Lennieajaksu: ping11:38
ajaksuLennie: pong :)11:38
ajaksucan't make the project list view work, but I still expect subclass issues, namely regarding record creation :)11:39
Lennieajaksu: what's happening :)?11:41
Lennieit worked here11:41
ajaksuempty projects list... created as a student and as a mentor. Hmmm did you set version to devvin?11:41
*** Lennie has quit IRC11:42
*** Lennie has joined #melange11:43
*** ChanServ sets mode: +o Lennie11:43
Lennieso11:43
Lenniestupid wireless :)11:43
Lennietell me11:43
Lenniewhat's not happening?11:43
ajaksuempty projects list... created as a student and as a mentor. Hmmm did you set version to devvin?11:43
Lenniemwah that's not the problem11:47
ajaksuLennie: maybe my seed_db created users/mentors/students are to blame, should I create them myself? :)11:47
LennieI think that' s it :P11:47
Lennieyou should login as the student!11:47
Lennieotherwise you'll see nothing i11:47
Lennieyou'll only see your own projects11:47
ajaksudone that, from a different browser and a different account, created a project that is linked to that account, and still get an empty list :)11:48
Lennieare you 100% sure11:50
LennieI just did it myself here and it worked :P11:50
ajaksuLennie: 100% sure, but then the user was created by seed_db... I'll do the manual user creation after I send my first getfields patch  :)11:50
Lenniehmm11:51
Lennieare you logged in as that user?11:51
Lennieand is that user really the student for that project11:51
ajaksuin opera, yes...  and as another one in FF11:51
Lenniecrazy11:51
Lennieworks here :P11:51
Lenniewe'll get to that later then :)11:51
ajaksuLennie: that is a good question, it was created using that user's id, but I'm not sure he's the only one with that id, I'll test it soon  :)11:52
Lennieyou can screw things up with seed_db yes :P11:52
LennieErant: ping!11:57
LennieErant: are you alive on the other side of the ocean :)?11:58
Lennieajaksu: I'll start integrating James's grading field patch12:01
Lennieso that I can get the last type working as well12:01
Lenniewe might need to refactor that once you are done12:01
ajaksuLennie: OK, I can merge once you commit or send my first patch now, whatever works best for you12:02
Lennieno rush12:02
Lenniejust make sure all is fine on your end :)12:02
LennieI'll have dinner first anyhow12:02
ajaksuLennie: ok, I'll send a simple patch now but I'm willing to update it after you commit the grade changes, so no need to worry about it :)12:04
Lennieajaksu: I've pushed his work12:24
Lennieajaksu: The problem is that you now only have the field on GET12:24
Lenniebut what you actually want is to have it on both GET and POST12:24
Lennieso that when the fields are retrieved from the cleaned for it is still there12:24
Lennie*form12:25
ajaksuLennie: the grade field?12:25
Lennieyes12:25
LennieI was hoping with your patch that we could just get the form in the Take method12:26
Lennieinstead of in takeGet and takePost12:26
ajaksuso taking grading surveys now works? and it creates GradingProjectSurveyRecord ?12:26
Lennieso there is one place where it gets build12:26
Lennieno12:26
Lenniebecause I'm not reading the grade field because it is not in the form on a POST request :)12:27
Lennieit just shows now12:27
Lennieit is probably something that needs to move to the helper code12:27
Lennieanyhow12:27
LennieI first want to review your work12:27
Lenniehave it in there12:27
Lennieand then we can move the grading field to a good position12:27
ajaksuLennie: ok, but I might be going for the long way in my patch, so I'm adding my work plan and you can tell me to focus on the grade taking issue :)12:27
Lenniewhat's your work plan?12:28
ajaksumailing it to the list, but might make it private if you want to spare me from the shame :)12:30
Lennielol12:30
Lenniego watch the youtube movie called12:30
LennieGoogle I/O Myth of the Genius Programmer12:30
Lennieand then tell me what you need to do :)12:30
madrazrLennie: movie? :P12:30
Lennietalk :)12:31
Lenniemovie12:31
Lennieit's youtube :P12:31
madrazrLennie: he he Ok12:31
LennieAjaksu how is it currently working?12:31
LennieI have a good idea to get the grading forms working ^_^12:35
Lenniebut I'll wait for your work on Django forms12:35
Lennieif we are lucky it will all be up and running in a few hours12:35
ajaksuLennie: ok, sent it, now I hope you can spot an easy jump instead of the progressive plan I have in mind, otherwise I'm merging methods  :)12:37
Lennie?12:37
Lenniehe12:37
Lenniewhat are we talking about here :)?12:38
ajaksuwork plan for having pure django forms instead of getfieldsform, sent mail with initial patch + plan :)12:38
Lennieok12:40
Lenniedinner here now12:41
LennieI suggest you take a break too :D12:41
Lennieunless you want to keep coding12:41
Lenniebrb12:41
ajaksuk :)12:41
*** florinciu has quit IRC12:47
*** MatthewWilkes has quit IRC13:02
*** Merio has quit IRC13:09
Lennieajaksu: ping13:20
ajaksupong13:20
Lennieready for some more coding :P13:20
Lenniehmm13:29
ajaksuLennie: SurveyEditForm now only has the getFields method, time to see how we can populate fields as a normal django form would...13:30
ajaksuor a Dynaform :)13:30
Lennie:)13:31
Lenniehehe13:31
LennieDon't go for dynaform13:31
LennieI'm not a fan of that13:31
Lennieare you sure the form needs to have a Meta class btw/13:31
Lennie?13:31
ajaksunope, but I'm not sure about anything modules :D13:31
ajaksuLennie: the thing is, how do we add dynamic fields? where is the field kind information comming from, since we don't have them in a model?13:32
Lenniebrb13:32
Lenniefew min13:32
ajaksuk :)13:32
Lenniek13:37
Lenniemaybe it's better for now to let getFields stay?13:38
Lennieand focus on the other issues?13:38
Lennieajaksu:  :)13:40
ajaksulet me take a look at our options, I promise I won't waste more than 20 minutes on this and if I get nothing usable I'll simply put  InsertFields back (so we regain ordering)13:40
Lennieok13:41
Lennieyou have 20 min then :)13:41
ajaksudeal :)13:41
LennieI do like the split :)13:42
Lenniehowever I do see chances for code reduction there13:43
ajaksulet me send the current version, SurveyEditForm is lean and mean, and SurveyTakeForm can have the same treatment  :)13:44
Lenniemy main concern with the one you send in is13:44
Lenniethat a lot of code seems double13:44
Lennieand that surveyEditForm had getFields with post_dict13:44
Lenniewhile I'm not sure that will ever be used13:44
Lenniesince that is just form creation when editing afaik13:45
ajaksumost of the double code is removed, but we still have a lot to gain from redundancy in SurveyTakeForm methods...13:45
Lennieok13:46
LennieI shouldn't take your 20 min away13:46
LennieI'll keep quiet now13:46
ajaksuthe post_dict for SurveyEditForm might be interesting if we ever want to validate the survey content, but I'll remove it for now  :)13:46
Lenniegonna browse some code ;)13:46
*** dhaun has joined #melange13:58
ajaksuLennie: time's up, what are the issues we should focus on? :)14:01
Lenniehehe14:01
ajaksu(I think I got a good lead at http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#changing-the-order-of-fields )14:01
tpb<http://ln-s.net/3S3p> (at docs.djangoproject.com)14:01
Lenniepj14:02
Lennieoh14:02
Lenniefor ordering fields you can use base_fields.keyOrder right?14:03
Lennieor that yes14:03
Lennieso14:03
Lenniehmm14:03
Lenniedo you want to send me a new version of the patch?14:03
ajaksuLennie: not sure, didn't have time to actually test, will do so later  :)14:03
Lennieis everything still working?14:04
ajaksuI've already sent the latest one...14:04
ajaksuwell, edit form loses field ordering, otherwise yes... I can revert the ordering  back in 30 sec :)14:04
ajaksubut if you want to commit that, I should add some docstrings to new schema methods :)14:05
Lenniehmm14:06
Lennieordering needs to be preserved14:06
Lennieotherwise the questionair will look strange14:06
ajaksuworse: it's preserved in take view, but edit view is like you're on acid during an earthquake :)14:07
Lenniehehe14:07
Lennieyou should take a look into ordering tomorrow I guess14:08
Lennieif nothing else pops up14:08
Lennieso first14:08
Lennieget the ordering back14:08
Lenniemake sure docstrings are there :)14:08
Lennieand get me that patch14:08
ajaksuLennie: yes, keyOrder seems to fit the bill too, so tomorrow it is! I'll revert ordering , add docstrings, run a last test and send the patch :)14:09
Lenniecool14:09
Lenniethen we can talk some bugs14:09
Lennieand features14:09
LennieI'll probably bother you with something else when you are busy (the grade field stuff)14:09
ajaksuok :)14:10
ajaksuLennie: everything works, except that I found an ordering buglet from our JS not following our change to  as_twoline_table... can I add that to the 'latter' list? :)14:21
Lenniewhat does this bug cause?14:22
ajaksunew questions in an existing survey have wrong indexes, because we're counting table rows as if they were fields :)14:22
Lenniecounting sucks :(14:23
Lenniedoes this cause any problems14:23
Lennie?14:23
ajaksuwell, now that you mention it, I think it doesn't, but counting does: indexes are stored on creation and based on rows count...  now if you delete a  couple of questions, new ones don't get added to the bottom but to the middle of the form14:24
Lenniehehe14:24
Lennieinteresting14:24
Lennieadded to the better to do tomorrow then later list :P14:25
ajaksunothing you can't edit in plain text: http://paste.pocoo.org/show/126495/14:25
Lennie*add it14:25
tpbTitle: Paste #126495 | LodgeIt! (at paste.pocoo.org)14:25
Lennie^^14:25
Lennieok so14:26
LennieI'll can probably apply your patch without serious problems14:26
Lenniebut in while I'm reviewing it might be best to take a look at the long question fields14:26
Lennieand comment field14:26
Lenniefields14:26
Lennieand ensure that their cleaning method returns a db.Text type14:27
Lennieinstead of string14:27
Lenniebecause when strings are returned only 500 bytes are allowed in the datastore14:27
*** dukeleto_ has joined #melange14:27
Lennienow comments and long answers must be able to grow beyond this limit14:28
Lennietherefore it needs to return a db.Text type14:28
ajaksuhmm, I had to make schema text due to that limit, but I thought the long fields or comments would generate text themselves14:28
ajaksuI see the issue if they don't :)14:28
Lenniewhich is something else you can do with djanog :D14:28
Lenniefor each text/comment field14:28
Lenniefor each id they have14:29
Lennieyou should add an14:29
Lennieclean_id field14:29
Lenniereferencing a function that transforms the input to the db.Text :)14:29
Lenniehttp://docs.djangoproject.com/en/dev/ref/forms/validation/14:29
tpb<http://ln-s.net/3S4P> (at docs.djangoproject.com)14:29
LennieI think that might help14:30
Lennieis that something you want to take a look at ;D?14:30
Lennieafter you have sent your patch ofcourse14:31
ajaksuLennie: sent it, what kind of serious problems do you expect?14:34
Lenniewith?14:34
ajaksuthe patch I sent, (if anything take-related, I didn't change much if anything there) :)14:35
LennieI hope to not find any problems :D14:35
Lennieanyhow14:35
Lenniethe db.Text fix might be nice14:35
Lennieor14:35
Lennieradiobuttons ^_^14:36
ajaksulooking into the validation docs, soon to open the appengine docs :)14:36
Lenniebut not sure if that is still broken14:36
LennieI'll get back to that soon14:36
ajaksuradiobuttons: looks, saving, everything? jamtoday had a fix for looks back then14:36
Lennieyou take a look at db.Text :D14:36
Lenniesaving14:36
Lennie(in taking)14:36
ajaksuok, looking into db.Text :)14:36
Lenniethe validation fails14:37
Lennieit says expecting list14:37
Lenniebut it probably gets one item :)14:37
Lennieanyhow14:37
LennieI'm fixing some other nasty form validation error14:37
Lennieand then reviewing/applying your patch14:37
ajaksuok :)14:38
Lennieso14:38
Lenniefix pushed :)14:38
*** Shaan7 has joined #melange14:40
Lennieajaksu: you mind if I remove this_user and project references?14:41
Lennieas well as getRoleSpecificFields14:41
Lennie?14:42
ajaksuLennie: not at all, thank you :)14:42
Lennieah14:43
Lennielovely14:43
Lenniethe code quality is so much higher then a week ago :p14:44
*** dukeleto has quit IRC14:45
Lennieajaksu: ping14:48
Lennie    # TODO(ajaksu): this breaks ordering and blocks merging choice methods14:49
Lenniestill valid?14:49
ajaksuLennie: yup, I just flagged it but it's about option ordering in a select14:49
Lennieok14:49
Lenniethen I let it be :)14:50
ajaksuI guess james didn't know how to flag which option to select, I think it's 'initial' or something like that :)14:50
Lenniehmm14:50
Lenniesounds sane14:50
Lennienot completly sure :P14:50
Lennie    # TODO(ajaksu): find a new way to keep fields in order14:50
Lenniethink that suits the one at self.insertFields() better14:51
ajaksustill valid, I reverted to the old way, ah, yes, insertFields is better...14:51
Lenniehmm?14:52
LennieI was just hinting that there was another todo about sorting above insertFields :)14:52
Lennieand that I added "new"14:52
LennieI need three more docstrings :(14:52
Lenniefor SurveyContentSchema14:52
ajaksuLennie: for the schema class?14:52
Lennieajaksu: what's a good one for the __init__?14:53
Lennieschema is the schema stored in SurveyContent?14:53
ajaksuLennie: yes, it is... how about 'Set the dict this class encapsulates'?14:54
ajaksu(TBH, I expected we'd do something fancier than storing as-is with that initial dict)14:54
Lennieok14:54
Lenniemwah14:54
Lenniecan't have it all :)14:55
LenniegetType?14:55
Lennieget the type of a field right :)?14:55
ajaksu'Fetch question type for field (one of short_answer, long_, pick_multi, pick_quant, selection).'14:56
ajaksuhow did you guess that one? :D14:56
Lenniehehe14:57
ajaksugetRender: "Get rendering option for choice questions."14:57
LennieI'm on stupid mode atm14:57
ajaksu(testing spike solution for db.Text)14:59
Lennieeasy test case btw :D14:59
Lenniejust type like crazy :P14:59
Lennieajaksu: time to make patch notes for you ^^15:02
ajaksuI think melange is stronger than my FF, which just crashed.... maybe a little too much typing :D15:04
Lennierofmao!15:04
ajaksuLennie: how about "HTTP response was too large: 18602605. The limit is: 10485760." ? :)15:06
LennieROFLMAO!15:06
Lennieyou pasted way too much :P15:06
Lenniehahaha15:06
Lenniethe awsome!15:06
*** Shaan7 has quit IRC15:08
Lennieajaksu: your patch has been pushed15:08
ajaksusweet :)15:08
Lenniehow's db.text coming along?15:14
ErantYou weird person. The moment you're on IRC, you're not on MSN, and vice-versa.15:14
Lenniehahaha15:14
LennieI'm on mac15:14
ErantCan your poor MacBook nog handle more than two network threads? ;)15:14
LennieMSN here sucs15:14
Lenniehehe15:14
Lennieofcrouse15:14
Erantnot*15:14
LennieGTalk and MSN :P15:14
ErantOhwow15:15
LennieERANT15:15
LennieDUDE15:15
Lenniehow's US :D?15:15
ErantHot15:15
Lenniesame here :)15:15
ErantHotter15:15
Lenniein your new place?15:15
ErantYah15:15
Lennieand?15:15
Lenniesend pics plix15:15
ErantIt's awesome15:15
LennieI'll come visit :)15:15
ErantPool, sauna, jacuzzi, etc.15:15
Lenniedude :P15:15
LennieWhy would I need a hotel :D15:15
ErantI know :)15:15
ajaksuLennie: not that great, I'm not getting the clean_[field_id] method to be called for the dynamic props...15:15
LennieI could just crash at your place :P15:15
ErantSo I might go sit in the jacuzzi for a bit later.15:16
Lennieajaksu: ouch that sucks :(15:16
ErantBut the soon is absolutly hammering down right now15:16
Erantsun*15:16
ErantO_o15:16
LennieErant: hmm :)15:16
LennieErant: I'll visit your place when I'm over as well15:16
ErantDo that.15:16
LennieErant:  and we'll go into town :)15:16
ErantProbably going to Santa Cruz tomorrow15:16
ErantWe will.15:16
LennieErant: how was the flight?15:17
ErantCupertino is boring.15:17
ErantEuh15:17
ErantLong.15:17
Lennielets take this talk to pm ^_^15:17
Lennieajaksu: feel free to bother me with melange stuff again :p15:17
ajaksuLennie: looks like overriding SurveyRecord's put to store long strings as TextProperty might work, testing...15:22
Lenniehmm15:23
Lenniethat sounds nasty15:23
Lenniebut there is no way that we can set the cleaner for any of those fields15:23
Lennie?15:23
ajaksuLennie: there might be, lemme look further... does this give you any ideas: 'If you want to validate a dynamic property value using a Property class, you can instantiate the Property class and call its validate() method on the value.' ?15:24
ajaksu(from expando's help)15:24
Lenniehmm15:24
Lenniedb.text(value).validate()15:25
Lenniethat's what they mean15:25
Lennienot too usefull15:25
ajaksu"Dynamic properties cannot use Property instances to perform validation, set defaults or apply automatic logic to values. Dynamic properties simply store values of the supported datastore types. See Types and Property Classes."  http://code.google.com/appengine/docs/python/datastore/expandoclass.html15:25
tpb<http://ln-s.net/3S5r> (at code.google.com)15:25
Lennieyeah and text is a type?15:25
Lennieso you can still set it15:25
Lennieit just doesn't get auto-validated15:26
ajaksuhmm, how about overriding form's clean?15:26
LennieI lied a bit with db.text.validate15:26
Lenniedb.text is a datastory type15:26
LennieTextProperty is the property15:26
Lennieajaksu: if you can't get it to work with the fields :(15:27
Lennieso there is no way to add clean_id fields?15:29
ajaksuLennie: I'm studying it further, found an article and was thinking the problem might be we define fields later in the game, so cleaning might need a hint to pick it up15:30
Lennieyes15:32
Lenniesounds sane15:32
LennieI'm going to try and get the grade stuff working15:33
Lennieajaksu: now there is only one place where a form get's initalized ^_^15:59
Lennieajaksu: I think I'm now going to let a method in the grading view hook into that and then it should work, "crosses fingers"16:00
ajaksuLennie: cool, looking at the commit :)16:01
Lennieyeah I've added a TODO to fix the SurveyForm16:01
Lennieit should not try to confuse two sorts of data input16:01
Lennieif a record is specified then the record should be used16:02
Lennieif a post_dict is used16:02
Lenniethen that should take precedence over the record16:02
Lennieand the record should NEVER be used then16:02
ajaksunot even if the user had some stored results and was adding something new?16:03
Lennieshouldn't that what he adds be in the post data ?16:03
Lennieshouldn't that to what he adds to also be in the post data16:03
Lennie*16:03
Lenniecan you give me an example of where the behaviour you hinting at is needed?16:04
ajaksusay he had records for questions 1 and 2, now he's POSTing question 3... I think we need to merge both datasets, no?16:04
*** Merio has joined #melange16:04
*** ChanServ sets mode: +v Merio16:04
Lenniewhy?16:04
Lenniewhy isn't question 1 and 2 in the dataset?16:05
Lennie(in the POST data that is)16:05
Lenniethey are also displayed on the form right?16:05
Lennieand that is what is being submitted?16:05
ajaksuLennie: right, makes sense :)16:05
* ajaksu should think before typing :)16:05
Lenniemwah16:05
LennieI can be wrong too :)16:05
Lenniejust good to have someone else that thinks about the same subject as well16:06
Lenniefor that matter I'm just dr__house  I need someone to throw ideas off of16:06
Lennie:)16:06
Lennielittle TV joke here :)16:07
ajaksugood, I'm a neverending source of ideas that need to be thrown away and I do know they deserve so (when pointed to why) :D16:08
Lennieah16:09
Lenniewe're not throwing all your idea away :D16:09
Lennietimeconstraints suck :P16:09
Lennieand there is a lot of your code in there as well :)16:09
ajaksuLennie: don't worry, I'm really happy with throwing ideas away and working with consistent style... you have no idea how hard it was to juggle coding with bad designing before you got closer to surveys :)16:12
Lennieah yes16:13
Lenniedesperate times, desperate measures :)16:13
Lennieplot a course and go :p16:13
ajaksuLennie: got 'a' solution to db.Text, but it's happening in survey_record logic... going upstream from there to see how close to the form I can get16:13
Lennieif prop instanceOf string :P16:14
Lennielen > 50016:14
Lenniedb.text16:14
Lenniesomething like that :P?16:14
ajaksuwow, you're doing a great dr house, yes, exactly that :)16:14
Lennieyou watch gregory as well :)?16:15
LennieThe ep where he lured Cuddy into the xray chamber was awesome :P16:15
ErantWas that where the guy was unable to control what he said?16:16
Lennieyosh :D16:16
Lenniethat one Erant16:16
ErantSeen it on the plane.16:16
Lenniehehe16:16
Lenniesuch a good joke that one :D16:16
Erant:P16:16
ajaksuoccasionally, I don't have cable and don't watch much TV, but dr house is one of the things I watch when I can  :)16:17
dr__houseLennie: pistons on the ferrari ;)16:17
Lennie:D16:19
Lennieajaksu: House is awesome!16:19
Lennieajaksu: ping!16:27
ajaksuLennie: pong :)16:28
LennieI need you to focus on something else :P16:28
Lenniepull the latest changes please16:29
ajaksusure16:29
ajaksuok :)16:29
ajaksuLennie: got it16:32
Lennieok16:33
LennieI created a _getSurveyTakeForm16:33
LennieGradingProjectSurvey view should overwrite this method16:33
ajaksuyup, returning surveys.SurveyTakeForm for now16:33
*** madrazr1 has joined #melange16:33
Lennieand retrieve the take form with the added grade field enabled16:33
ajaksuah, ok, so override instead of extend :)16:33
Lennieyosh16:33
*** madrazr has quit IRC16:33
*** madrazr1 is now known as madrazr16:34
Lennieit should have all the normal survey fields16:34
*** ChanServ sets mode: +v madrazr16:34
Lenniebut also include the grade field16:34
Lennieyou can relocate the code currently in the ProjectGradingView to the helper if you'd wish16:34
Lennieit is basically an extension of the SurveyTakeForm :)16:34
Lennie(which means you might want to create a new subclass)16:35
Lennieor do something else that's nice16:35
ajaksuLennie: ok, so goal is having the grading field appearing then stored, in  a nice extension-based way... does that work for forms? :)16:36
LennieI hope so :P16:36
Lennieit should atleast be possible to move the ProjectGradingSurvey code into the helper16:36
Lenniebe it in a subclass that overrides getFields16:36
*** dr__house has quit IRC16:36
Lennieand just does the same work after it calls super.getFields16:37
*** dr__house has joined #melange16:37
Lenniebut it should be possible somehow to take in a grade field at the end right?16:38
ajaksuLennie: sure, I'm just thinking about how all the other fields come from surveycontent... and how easy things would be if grade was a simple field,  but yes, it's possible :)16:39
Lenniehmm16:40
Lenniestill feels like it should be possible to do it at the end16:45
Lenniewe want it to come last anywya16:45
ajaksuworking on it :)16:46
Lennieawesome!16:48
LennieI'm conveying with madrazr about GHOP :)16:48
LennieI'm going to get something to drink16:54
Lenniehave you eaten yet ajaksu  :)?16:55
ajaksuLennie: some snacks 5h ago, time for a break... soon :)16:55
Lenniehehe16:55
Lenniebreaks are important :)16:55
madrazrajaksu: Oh!16:56
madrazryou seriously need a break!16:56
Lenniedr__house:  you have to power to order people to take a break :p16:56
madrazrLennie: was that said in reference to me? ;-)16:56
Lenniehmm16:57
Lennieno to ajaksu  :P16:57
Lennieunless you are dr__house :D16:57
madrazrLennie: ha ha ha :D16:57
Lenniebut I thought that was your roomie/friend16:57
madrazrLennie: he is my close friend :)16:57
dr__houseLennie: I have the power to ask people to go on a break?16:57
Lennie:)16:57
Lennieyes16:57
Lennieyou are a doctor16:57
madrazrROFL :D16:57
madrazrLennie: I was actually waiting for a time to tell you how we get breaks here :D16:58
madrazrLennie: it is also something related to power :P16:58
madrazrLennie: power cuts for 6-7 hours during day time16:58
madrazrso forced breaks :P16:58
Lenniedoctor > starship captain, Starfleet code section 12 paragraph 4 :)16:58
LennieThe Chief Medical Officer outranks the captain in health matters16:59
madrazrhe he16:59
Lenniemadrazr: you have power cuts a lot right?16:59
madrazrLennie: simply too much :(17:00
Lenniesucks :017:00
Lennieyou should buy an power storage device for your pc :)17:00
Lennieyou can do 4 hours without power then17:00
madrazrLennie: I am buying a lappy finally in a week or so :)17:01
Lennie:)17:01
dr__housemadrazr: yeah like you are gonna get it this week :P17:02
madrazrdr__house: next week for sure!17:02
dr__housemadrazr: this week ends tomorrow, and if you order tomorrow you might get it by 12-1317:04
Lennielaptops only last for 2 hours on battery if you are lucky17:04
Lennieunless you get a macbook17:04
Lennie(praises his 6 hours of programming without power!)17:05
madrazrLennie: he he, thats cool actually!17:05
Lenniebut yes laptops are nice for uni as well :)17:05
dr__houseLennie: mine used to last me for 5-6 hours before my 9-cell battery died :(17:06
Lenniedr__house: a laptop or macbook? :)17:06
Lennieif it is a laptop then you had a good one D17:07
dr__houseLennie: laptop17:07
dr__houseLennie: Dell Inspiron 152517:07
Lennienice :D17:08
Lennie+1 dr__house :)17:08
LennieI'm off to take a drink now for real17:08
Lenniebrb17:08
dr__houseLennie: yeah getting new batteries this week17:08
dr__houseLennie: sure :)17:08
Lennie:)17:16
Lennieso17:16
Lennieajaksu: any ideas yet? :)17:16
Lenniedr__house: 9-cell ftw :17:16
dr__houseyep :)17:17
Lenniedr__house:  typically dell, did your battery blow up :P?17:17
dr__houseLennie: yeah, all of a sudden one day it says that the battery power has just 25 minutes on it17:17
dr__house:(17:17
ajaksuLennie: the grade field is showing (was before I did anything other than pasting _getSurveyTakeForm in grading...survy view)17:17
Lennieyeah it showed :P17:18
Lenniebecause it was in _takeGet17:18
Lenniebut it isn't supposed to use that for that purpose17:19
ajaksuLennie: ok, so no, no ideas yet but working on it :)17:20
Lennieok17:20
Lenniehmm17:25
Lennienm stupid idea :D17:26
Lennieajaksu: anything :D?17:42
Lennieajaksu:  Or should we discuss options?17:42
ajaksuLennie: I can't generate a single grading_project_survey record, that's all I'm working with :/17:43
Lennieoh17:44
LennieI can take care of that17:44
Lennieas long as you can make the form show the field17:44
Lenniein get and post :)17:44
Lennieif the grade field is in there17:44
Lenniethen I can take care of the rest17:44
ajaksuLennie: duh, sorry then, fixing the field on post :)17:44
Lenniefixing field on post?17:45
Lenniehmm17:45
Lennieshouldn't it already be in there :P?17:45
Lennieare you using _getSurveyTakeForm ?17:45
*** dhaun has quit IRC17:49
ajaksuLennie: sorry, forgot I turned off autohighlight for your nick... yes, I'm using it, and I'm going for a keyword to surveytakeform that adds the grade field17:59
Lennieok18:01
Lenniehmm18:01
Lenniejust subclass the form then18:01
Lenniemakes it much cleaner?18:01
Lennieor isn't that possible?.18:01
LennieI think in the future we'll be adding more required field surveys18:02
ajaksuLennie: should be, now it works the ugly way let me try the nice way :)18:02
Lenniehehe18:02
Lennieit isn't that ugly18:03
LennieI just wonder if it is possible18:03
Lenniewe might want to extend the surveys to also work as application forms for organizations next year18:05
Lennieso we might be better of ensuring that we can add static fields :)18:06
Lenniebecause an org app form will have a bunch of them18:06
ajaksuyup :)18:07
ajaksuLennie: it works! sorry for taking hours to make such a small improvement :(18:10
Lenniemwah :)18:10
ajaksu(ok, the solution to db.Text also occurred to me in the mean time :D)18:10
Lenniealso good18:10
Lenniecommit count )++ :)18:10
Lenniebrb18:17
Lenniesend it when ready :)18:17
ajaksuok :)18:17
Lennieback18:27
Lennieso do you have a patch for me :D18:28
LennieI want to get it in there so I can sleep :D18:28
Lennieand so Sverre can test the access checks tonight :)18:28
ajaksuLennie: done diffing, sending :)18:30
Lennieawesome18:31
ErantSleep? w0zzat18:31
Lenniesomething you shouldn't do yet18:31
Lenniemister jetlag :)18:31
ajaksuLennie: sent18:32
Lenniek18:32
*** dr__house has quit IRC18:33
ErantYeah, another good 8-9 hours.18:33
Lenniecool gonna take a look at it :)18:33
Lenniegood luck with that Erant  :p18:33
Lennielol ajaksu why didn't you empty _takeGet :P18:35
ajaksuLennie: because you still have to make taking work? :)18:36
Lenniemight be true :P18:36
Lenniehmm18:46
Lenniethe field does not get populated by request.POST18:47
Lennie(whishes Django was used :P)18:47
ajaksugetFields(post_dict=...? :)18:48
Lennieyes18:48
Lenniebut the contents is not set :)18:48
Lenniebecause it is probably not in the schem18:48
Lenniea18:48
Lenniebut it is in the form :P18:48
ajaksuI was thinking about that... maybe we should make the metaclass surveyrecord (so we'd have to pre-populate the record with the right fields from content)?18:50
ajaksuthat would give us a mostly normal django form, from a weird origin but still :)18:50
Lenniesounds possible18:51
*** madrazr has quit IRC18:52
ajaksuso any new fields should be added to the blank record, leaving the form comfortable with being django :)18:52
Lenniehmm18:57
Lennieajaksu: I'm too distracted :(18:57
Lennie01:00 almost18:58
LennieI'm heading to bed :P18:58
Lennieso close :(18:58
ajaksuLennie: I know the feeling... I'll try to fix some other issues so you can start the day in a good mood :)18:59
Lennieor if you can fix the grade then you would start my day in a superb mood :P19:00
Lennieas long as it form gets through validatoin with grade field life is good19:00
ajaksuLennie: ok, I'm closing in a db.Text solution and will be able to take a look at the grade field, but I'm starting to need some rest so no promises :)19:02
Lennieyou are not the only one19:03
Lennienn ajaksu19:03
Lenniewas a good day19:04
Lenniethanks for the help19:04
*** Lennie has quit IRC19:05
*** Merio has quit IRC20:29
*** SRabbelier has joined #melange21:26
*** ChanServ sets mode: +o SRabbelier21:26
SRabbelierwhow, it's quieter than ever in here21:27
ajaksuSRabbelier: wanna hack on surveys? :)21:29
SRabbelierajaksu: yes, hence why I pinged you on gtalk :)21:29
SRabbelierat least... I think I did21:30
SRabbelierajaksu: anyway, am working on the access check thingy21:30
ajaksuSRabbelier: looking at the code...21:31
SRabbelierajaksu: access.py bottommost function21:32
SRabbelierajaksu: http://code.google.com/p/soc/source/detail?r=f9119180c2947812cd549694e812c49876e3516521:32
tpb<http://ln-s.net/3SGQ> (at code.google.com)21:32
ajaksuthanks :)21:32
SRabbelierajaksu: np :)21:33
ajaksuSRabbelier: want me to test it, have any issues in mind? :)21:35
SRabbelierajaksu: am addressing the comments on it now21:35
SRabbelierajaksu: (and plug it in too)21:35
* ajaksu realizes he's reimplemented (then discarded) isActivePeriod :D21:37
SRabbelierajaksu: lol :)21:37
SRabbelierajaksu: you found it through my access check?21:37
SRabbelierajaksu: I wish we had a more obvious and easy to use API21:37
ajaksuSRabbelier: yup... but to be honest, we might want to keep the different behavior for after-deadline (so user can see her record)21:38
SRabbelierajaksu: ack21:38
SRabbelierajaksu: would have to be different access check21:38
SRabbelierajaksu: e.g., isSurveyResultReadable or something?21:39
ajaksuSRabbelier: might be a good choice, yes... I'll take a look at that once we have james's code for notifying menu in21:40
SRabbelierajaksu: dude, seriously, you two are doing an awesome job, totally great! :)21:41
SRabbelierajaksu: how's this measuring up to your initial goal of messing around with a GAE/Django/Python web app? :)21:42
SRabbelierajaksu: I will bbl, buying nom21:44
ajaksuSRabbelier: this completely surpassed my expectations, been a wonderful ride so far! I'm not getting things done the right way as much as I'd like to (much better now that Lennie is around to give context on melange style) but man it's been so great :)21:44
SRabbelierajaksu: sweet :D:D21:45
SRabbelierajaksu: keep it up21:45
SRabbelierajaksu: I'll bbl :)21:45
ajaksuSRabbelier: k, I'll be around :)21:46
SRabbelierajaksu: pong22:40
ajaksuSRabbelier: err... ping? :)22:40
SRabbelierajaksu: :P22:45
SRabbelierajaksu: I'm back :)22:45
SRabbelierajaksu: got some nommings22:46
ajaksuSRabbelier: I'm starting to need sleep, took me a minute to parse nommings as nom nom (usually I'd take less than... 45 secs? :D)22:47
SRabbelierajaksu: hahah, how late is it over there?22:48
ajaksuSRabbelier: not too late, 23h48, but I'm staring at melange since 07:30 or so :)22:48
SRabbelierajaksu: whow, you're dedicated dude :P22:49
SRabbelierajaksu: did LH get you schwag yet? :P22:49
ajaksuSRabbelier: dedicated as in "it's my fail if we don't ship something acceptable"? is so, yes, I am :D22:50
SRabbelierajaksu: yup :D22:50
SRabbelierajaksu: that's about my definition of dedication :P22:50
SRabbelierajaksu: so we should like, put on the melange blog:22:50
SRabbelierajaksu: "surveys are not working yet, complain at ajaksu at gmail dot com"? ::P22:51
ajaksuSRabbelier: google swag as in 'promotional stuff'? do lots of free meals and a heck of a good time count as swag? :)22:51
SRabbelierajaksu: yes, they do, :P22:52
SRabbelierajaksu: do you at least have an OSPO shirt? :D22:52
ajaksuSRabbelier: yeah, guys on python-dev already know it:22:52
ajaksu[17:46:56] <Taggnostr> it could be better indeed, we should complain with ajaksu22:52
SRabbelierlolz :)22:52
SRabbeliers/with/at/22:52
SRabbeliercomplain with == "complain together" :P22:52
SRabbelierajaksu: unless you'll be complaining at yourself too xD22:53
SRabbelierajaksu: in which case I guess it works :D22:53
ajaksuSRabbelier: I do have weird convos with myself on IRC, as I ofter re-read logs :D (hi me reading this in the future, did you get some sleep? why not get some more? you know you/I want it...)22:54
ajaksu*often22:54
SRabbelierLOL!!!22:54
SRabbeliers/ofter/often/ ? that's a weird typo, they're not even close by :P22:55
ajaksuI blame 're-read' :)22:57
ajaksuwoot! fixed a nice bug :)23:05
SRabbelierajaksu: a nice bug? :D23:23
SRabbelierisn't that a contradictio in termini? :P23:23
ajaksuSRabbelier: I didn't know its scientific name, are all nice bugs from genus Contradictio? :D23:27
SRabbelierha! :P23:27
SRabbelierI forgot an s apparently23:27
SRabbelierhttp://nl.wikipedia.org/wiki/Contradictio_in_terminis23:27
tpb<http://ln-s.net/3SI6> (at nl.wikipedia.org)23:27
SRabbeliertry this one instead23:28
SRabbelierhttp://en.wikipedia.org/wiki/Contradictio_in_terminis23:28
tpb<http://ln-s.net/3SI7> (at en.wikipedia.org)23:28
SRabbeliersilly dutch search engine23:28
ajaksuSRabbelier: aha, then no, some bugs are nicer than others (says the issue tracker janitor)23:29
SRabbelierajaksu: ehe, what defines a nice bug?23:30
ajaksuSRabbelier: it's a clear bug, that allows one to generally improve related code and has a report-confirm-test-patch-test-fix life cycle... now, don't ask me about nasty ones or I might give you a link :D23:33
SRabbelierajaksu: hahaha, gotcha, the reproducable ones :)23:33
ajaksuSRabbelier: being deterministic as opposed to a heisenbug is nice, not making one think "we're all doomed, there's no way out of it" is kinda cool too :)23:36
SRabbelierajaksu: hahah, yes, and debugging a web app is kinda hard :(23:38
SRabbelierajaksu: lots of printfs :P23:38
ajaksuSRabbelier: yep, I got a nice remote debugger (in WingIDE) but I can't get it to work with GAE's auto reloading... still nice when it pinpoints an exception and opens a console to poke at variables23:39
SRabbelierajaksu: ah, sweet, I don't have that :923:40
SRabbelier:(23:40
ajaksuSRabbelier: gf is kicking me out of the computer (thank heavens, I'm starting to get too sluggish), good night :)23:40
SRabbelierajaksu: lol, good :023:40
SRabbelierajaksu: have a good night :)23:40
ajaksugood night, Sverre :)23:44

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!