#silverstripe IRC Log

IRC log for 14 December 2015

All timestamps are in UTC.

1: [00:20:46] * Stomach quit (Quit: zzz)
2: [00:21:35] * Stomach has joined #silverstripe
3: [00:21:40] <SantanaeNZ> ermagerd i can't get an image thumbnail in the GridFieldEditableColumns
4: [00:25:57] * BrewNaked has joined #silverstripe
5: [00:30:06] * BrewNaked quit (Ping timeout: 240 seconds)
6: [00:34:35] * munk0r quit (Quit: Textual IRC Client: www.textualapp.com)
7: [00:45:01] * cheddam quit (Quit: My Mac has gone to sleep. ZZZzzz…)
8: [00:46:31] * zippy has joined #silverstripe
9: [00:46:44] <zippy> Stomach: 137 to go!
10: [00:47:11] <Stomach> 2 wickets!
11: [00:47:38] <Stomach> we can do eeeet
12: [00:54:58] <helenclarko> zippy: WOOP WOOP!
13: [00:57:18] <zippy> 132..
14: [00:58:12] * munk0r has joined #silverstripe
15: [01:00:16] <Stomach> 1 leeeeft
16: [01:01:27] <helenclarko> Thats the game!
17: [01:02:04] * cheddam has joined #silverstripe
18: [01:03:20] * cheddam quit (Client Quit)
19: [01:06:41] * cheddam has joined #silverstripe
20: [01:10:28] <Stomach> WINRAR
21: [01:10:29] <Stomach> :D
22: [01:10:56] <SantanaeNZ> how long does cricket last for srsly
23: [01:11:08] <Colin[pi]> SantanaeNZ: about a billion years, give or take
24: [01:11:15] <SantanaeNZ> bleh
25: [01:11:19] <Colin[pi]> ^
26: [01:11:24] <Colin[pi]> I'm with you
27: [01:11:25] <Colin[pi]> :D
28: [01:27:00] <SantanaeNZ> i give up
29: [01:27:16] <SantanaeNZ> i have no idea how to show a thumbnail in GridFieldEditableCOlumns
30: [01:30:53] <SantanaeNZ> just as I said that I found a way to do it
31: [01:32:06] * Colin[pi] quit (Ping timeout: 250 seconds)
32: [01:43:56] * Colin[pi] has joined #silverstripe
33: [01:51:43] <hailwood> Hey folks, I have a form (external to silverstripe) that posts to a form (built in silverstripe). I'm trying to work out how I would handle File Uploads? I need to be able to save the file, and set it's location and filename in assets
34: [01:55:04] <micmania1> hailwood: just create the form in ss as you normally would, disable the security token and use the endpoint provided to post the form to.
35: [01:55:13] <micmania1> You never have to render the ss form anywhere.
36: [01:56:25] <micmania1> Or you could just have a controller handle it as a normal request.
37: [01:57:36] <micmania1> The benefits of creating a form is that it can re-use the security aspects of FileField and you can implement/test the validation as normal.
38: [01:58:15] * cheddam quit (Quit: My Mac has gone to sleep. ZZZzzz…)
39: [02:00:13] * cheddam has joined #silverstripe
40: [02:06:26] <jules0x> uhg, trying to create a report using DB::query() instead of DataObject::get(). It works but when I attempt to export to CSV...
41: [02:06:31] <jules0x> the method 'destroy' does not exist on 'ArrayData'
42: [02:06:39] <jules0x> any tips?
43: [02:07:23] <zippy> !paste
44: [02:07:23] <ss-helper> Please paste your code using something like http://kopy.io/ or http://www.sspaste.com/ or https://gist.github.com/ and then paste the link here.
45: [02:08:14] <jules0x> not sure this is a paste situation
46: [02:09:01] <jules0x> two identical reports. One works fine. The other doesn't (but only during CSV export).
47: [02:09:42] <jules0x> the difference between the two is sourceRecords() returns a DB::query instead of a DataObject::get()
48: [02:14:51] * BrewNaked has joined #silverstripe
49: [02:19:31] * hailwood quit (Remote host closed the connection)
50: [02:19:48] * BrewNaked quit (Ping timeout: 272 seconds)
51: [02:31:13] * zippy quit (Quit: Textual IRC Client: www.textualapp.com)
52: [02:38:25] * TheVoid quit (Ping timeout: 250 seconds)
53: [02:39:07] * TheVoid has joined #silverstripe
54: [02:44:19] * hailwood has joined #silverstripe
55: [02:45:41] <hailwood> Hey folks, does SS_HTTPRequest have anything for $_FILES or do we just deal with that directly?
56: [02:52:12] * Stomach_ has joined #silverstripe
57: [02:54:00] * Stomach quit (Ping timeout: 272 seconds)
58: [02:54:13] * N8_ has joined #silverstripe
59: [02:54:14] <ss-helper> N8_: Welcome to #silverstripe! Please ask your questions but don't leave too soon, we are a busy lot.
60: [02:55:05] <N8_> Any one know how to do a simple ->filter() through a many_many.
61: [02:55:38] <N8_> Finding conflicting /outdated info via google search
62: [02:55:50] <micmania1> N8_: $dataList->filter(‘MyRelation.Column’, ‘Value’); // should work
63: [02:59:43] <N8_> Cheers, think you may be right, what I found before talked of :ExactMatchMulti,
64: [03:00:07] <N8_> But I've realised by issue I think, ->Children() returns a ArrayList not DataList..
65: [03:01:15] <N8_> Side question, does anyone know if Page::get() default sort is the SiteTree order?
66: [03:01:35] <micmania1> N8_: yep, it should be.
67: [03:03:51] <micmania1> hailwood: I think you just use $_FILES - check how its done it the Upload class
68: [03:04:41] <hailwood> micmania1, Yeah, just did. The Upload class simply expects you to pass it the array of file data, but I've checked the FileField and that uses $_FILES to pass it to Upload
69: [03:04:47] <N8_> Thanks micmania1
70: [03:15:40] * cheddam quit (Ping timeout: 250 seconds)
71: [03:22:11] * Stomach_ quit (Quit: zzz)
72: [03:24:16] * Stomach has joined #silverstripe
73: [03:25:55] * terryapodaca has joined #silverstripe
74: [03:27:22] <terryapodaca> Does anyone know of a Module for Agenda and Minutes? This is for a City website...similar to http://haslet.org/agendacenter
75: [03:28:10] * helenclarko quit (Quit: Ain't no lie, baby bye bye bye.)
76: [03:29:36] <N8_> Anyone have any suggestions on how to just check if a single many-many relation exists?
77: [03:29:53] <N8_> Or rather, if something has been set through the relation
78: [03:30:21] * jules0x quit (Quit: Leaving)
79: [03:37:27] * cheddam has joined #silverstripe
80: [03:39:39] <hailwood> Hmm, what would cause $MyDataObject.HasOneRelationToImageID to equal 37, but $MyDataObject.HasOneRelationToImage.ID to equal 0?
81: [03:40:28] <SantanaeNZ> hailwood: HasOneRelationToImageID is directly stored in database, don't know if dot notation will delve that deep?
82: [03:42:13] <hailwood> SantanaeNZ, That's how you would normally access a relation on a dataobject. e.g. Class MyDataObject { private static $has_one ['HasOneRelationToImage' => 'Image'] } - so $MyDataObject.HasOneRelationToImage should return the Image object
83: [03:42:40] <SantanaeNZ> oh in the template i gotcha
84: [03:42:42] <SantanaeNZ> shrug
85: [03:47:44] * Colin[pi] quit (Ping timeout: 250 seconds)
86: [04:03:06] * hailwood quit (Remote host closed the connection)
87: [04:03:42] * BrewNaked has joined #silverstripe
88: [04:08:18] * BrewNaked quit (Ping timeout: 256 seconds)
89: [04:12:25] * micmania1 quit (Quit: micmania1)
90: [04:34:59] * BackEndCoder quit (Ping timeout: 250 seconds)
91: [04:35:25] * Sphere quit (Ping timeout: 250 seconds)
92: [04:37:47] * SphereSilver has joined #silverstripe
93: [04:38:06] * BackEndCoder has joined #silverstripe
94: [04:41:42] * Colin[pi] has joined #silverstripe
95: [05:10:45] <terryapodaca> Can i do a double GroupedBy? First by Year and second by AgendaType (Name)?
96: [05:12:12] * adrexia quit (Quit: My Mac has gone to sleep. ZZZzzz…)
97: [05:49:52] * spronk quit (Quit: I may need a longer sleep timer...)
98: [05:52:46] * BrewNaked has joined #silverstripe
99: [05:57:06] * BrewNaked quit (Ping timeout: 256 seconds)
100: [05:57:55] * Stomach quit (Ping timeout: 240 seconds)
101: [05:59:30] * SantanaeNZ quit (Quit: TIME TO FEED)
102: [06:10:46] * N8_ quit (Ping timeout: 252 seconds)
103: [06:17:03] * BrewNaked has joined #silverstripe
104: [06:41:37] * wmk has joined #silverstripe
105: [06:45:56] * spronk has joined #silverstripe
106: [06:47:00] * spronk quit (Max SendQ exceeded)
107: [07:01:08] * wmk quit (Ping timeout: 256 seconds)
108: [07:02:16] * Colin[pi] quit (Ping timeout: 256 seconds)
109: [07:05:18] * CodeTrap has joined #silverstripe
110: [07:10:30] * CodeTrap quit (Ping timeout: 272 seconds)
111: [07:11:22] * wmk has joined #silverstripe
112: [07:35:06] * Liquide quit (Ping timeout: 240 seconds)
113: [07:38:30] * Stomach has joined #silverstripe
114: [07:52:02] * Stomach_ has joined #silverstripe
115: [07:52:55] * Stomach quit (Ping timeout: 240 seconds)
116: [07:57:39] * Werner_2_ has joined #silverstripe
117: [07:57:40] * wmk quit (Read error: Connection reset by peer)
118: [08:04:58] * Mike123 has joined #silverstripe
119: [08:05:13] <Mike123> Morning guys
120: [08:06:26] <Mike123> Page::get('NewsPage')->limit(null,3) , i dont understand but this limit() doesnt work, i get all news even then offset is set
121: [08:07:37] * arnhoe has joined #silverstripe
122: [08:11:15] * cruize has joined #silverstripe
123: [08:11:16] <ss-helper> cruize: Welcome to #silverstripe! Please ask your questions but don't leave too soon, we are a busy lot.
124: [08:11:53] <cruize> hey i am using ss twitter feed module but its not showing latest tweets on front end
125: [08:14:11] * Werner_2_ is now known as wmk
126: [08:14:18] <wmk> Mike123, what SS version are you on?
127: [08:14:28] <wmk> !paste cruize
128: [08:14:28] <ss-helper> cruize: Please paste your code using something like http://kopy.io/ or http://www.sspaste.com/ or https://gist.github.com/ and then paste the link here.
129: [08:16:50] <cruize> i am using just this in my template: http://www.sspaste.com/paste/show/566e7adc81dcc
130: [08:18:09] <swaiba> wmk Mike123 kinglozzer said this was for 3.2 on friday
131: [08:18:52] <wmk> swaiba, yup, that was what i was remembering...
132: [08:18:54] <swaiba> but in general it feels like doing an substr($s,0,-1) to remove the last char
133: [08:19:34] <wmk> cruize, and you set the twitter credencial somewhere in CMS?
134: [08:21:10] <wmk> cruize, and what module exactly do you use? there are some around
135: [08:22:20] <cruize> i am using purplespider/silverstripe-twitter-feed
136: [08:22:46] <cruize> and i have set twitter credentials in _config.php
137: [08:22:51] <wmk> cruize, hmm, he might be around sometimes here...
138: [08:23:13] <wmk> cruize, "The module uses the new Twitter v1.1 API " and is 3 years old
139: [08:23:19] <wmk> so i dunno if the api still works
140: [08:23:29] <cruize> then what should i use
141: [08:24:24] <cruize> is there any other module to do the same
142: [08:24:42] <cruize> i am using ss 3.2
143: [08:25:01] <wmk> well, it _should_ still work
144: [08:25:05] <wmk> cruize, did you install it using composer?
145: [08:25:45] <Mike123> wmk, swaiba it's 3.1
146: [08:25:51] <cruize> no i just installed it by downloading
147: [08:26:08] <wmk> Mike123, so it won't work on 3.1, you need ->limit(99999, 3) on 3.1
148: [08:26:18] <wmk> cruize, just looked, there are no dependencies, so it should work
149: [08:26:41] <cruize> then what could be the problem
150: [08:26:48] <wmk> something not working...
151: [08:26:50] <wmk> *G*
152: [08:26:56] <wmk> https://github.com/purplespider/silverstripe-twitter-feed/blob/master/code/TwitterFeed.php#L97
153: [08:27:03] <wmk> you could hook in here if there are any errors
154: [08:27:09] <wmk> you might have the wrong credentials or whatever
155: [08:27:23] <wmk> see what OAuth is returning
156: [08:27:46] <cruize> how? sorry i am new to ss
157: [08:28:25] <Mike123> wmk, http://www.sspaste.com/paste/show/566e7d78d4d48 when i debug $list i get it as it should be, but in template i get all news ...
158: [08:29:07] * Stomach_ quit (Quit: zzz)
159: [08:29:21] <wmk> Mike123, could be that Paginated List overwrites your limit clause
160: [08:29:31] <wmk> as you want to EXCLUDE the first two items....
161: [08:30:16] <wmk> $firstTwoIDs = $news->limit(2,0)->getIDList()
162: [08:30:43] <wmk> $Sorted = $News->exclude(['ID' => $firstTwoIDS])
163: [08:30:48] <wmk> Mike123, ^^
164: [08:31:49] <cruize> wmk, i am using it on local server, should i use it on live server to get work
165: [08:32:06] <Mike123> wmk thanks, will try out this right away
166: [08:32:46] <wmk> cruize, dunno much about twitter api, but you should check if there is an error message. see link to code above
167: [08:33:38] <cruize> ok
168: [08:36:24] <wmk> Mike123, does it work?
169: [08:38:09] * cruize quit (Ping timeout: 252 seconds)
170: [08:40:16] <Mike123> wmk , 1min
171: [08:41:13] <terryapodaca> hey guys, is it possible to do a double GroupBy in a template?
172: [08:41:40] <terryapodaca> I need to duplicate the Agenda/Minutes of this site: http://www.cityofkeller.com/services/city-council/agendas-minutes
173: [08:42:38] <terryapodaca> I first need to group by date (year) to make the tabs, then group by the Department (which is an Enum() for now)...that will house the dropdowns
174: [08:43:37] <terryapodaca> I have a single Agenda DO that's pretty simple
175: [09:00:05] <swaiba> terryapodaca AFAIK yes, the frist group woudl be the high level
176: [09:00:18] <swaiba> and then you can take it's results (a list) for that "tab" and group it again
177: [09:01:03] <terryapodaca> swaiba: I am working on a bit of code that does at least the first group for the tabs (years)...and so far that is working just fine
178: [09:03:28] * kinglozzer has joined #silverstripe
179: [09:04:36] <nontgor> why do silverstripe tests take so long :(
180: [09:05:31] <wmk> nontgor, you should know how to speed up
181: [09:05:42] <wmk> well, maybe some coffee for the tests?
182: [09:05:57] <nontgor> wmk: Can't get SQLite on master, at least it wont install
183: [09:06:14] <wmk> oh
184: [09:06:40] <wmk> and you need to test on master? or can you run tests on another machine?
185: [09:07:30] <nontgor> wmk: Could do the other machine option, but it's old and prone to overheating
186: [09:07:52] <wmk> ok.
187: [09:08:36] <nontgor> wmk: See https://github.com/silverstripe/silverstripe-cms/issues/1345 - have managed to 'fix' quite a few in terms of queries but testing for side effects is basically an overnight job
188: [09:08:56] <nontgor> Time to read up on GitHub and Travis I guess :)
189: [09:09:24] <wmk> nontgor, sounds so
190: [09:25:24] <kinglozzer> nontgor: You can set up Travis fairly easily on your fork of framework / cms, if you log in to the Travis website it's just a tick-box to enable builds on push
191: [09:26:00] <nontgor> kinglozzer: Cheers, just read that from a doc
192: [09:26:27] <nontgor> namely https://github.com/mbonaci/mbo-storm/wiki/Integrate-Travis-CI-with-your-GitHub-repo
193: [09:32:04] <nontgor> cms tests on my laptop taking around 30 mins against mysql, 160 mins for framework
194: [09:33:52] <kinglozzer> whoa... that is slow
195: [09:38:59] <nontgor> kinglozzer: Can't run master against sqlite3, at least I coudln't get the module to install via composer
196: [09:39:16] <nontgor> didn't spend much time on that, somewhat ironically
197: [09:39:58] <kinglozzer> nontgor: dev-master of the sqlite3 module should work
198: [09:40:18] <kinglozzer> Though you might need to require framework 4.0.x-dev instead of dev-master
199: [09:45:50] * Tanger quit (Quit: sleep())
200: [10:02:46] * cheddam quit (Ping timeout: 240 seconds)
201: [10:03:27] * cheddam has joined #silverstripe
202: [10:14:32] <nontgor> kinglozzer/wmk: Got tests running now against SQLite3 - thats ***************way**************** faster :)
203: [10:14:48] <wmk> cool
204: [10:16:07] <nontgor> 1m30s as opposed to 30 mintues
205: [10:16:13] <nontgor> *minutes*
206: [10:18:29] <nontgor> running a single test taking likes of a second. Far more productive :)
207: [10:35:01] <terryapodaca> swaiba: you got a few minutes?
208: [10:35:25] <swaiba> how can I help terryapodaca ?
209: [10:37:35] * otterpocket has joined #silverstripe
210: [10:38:37] <otterpocket> I need to change some functionality in the login process, what's the nicest way to do this?
211: [10:40:13] <terryapodaca> swaiba: can I pm you so I don't flood this room?
212: [10:46:05] <swaiba> terryapodaca ok, but no promises, its a busy monday morning :)
213: [10:53:32] <otterpocket> Do I need overload the dologin() function ?
214: [10:55:38] * TombL quit (Ping timeout: 260 seconds)
215: [10:55:59] * Colin[pi] has joined #silverstripe
216: [10:56:27] <kinglozzer> otterpocket: Depends on what you need to change really
217: [10:56:43] <kinglozzer> If you need to check a "status" flag or something, there's a canLogIn() extension point
218: [10:57:10] <kinglozzer> Otherwise there are beforeMemberLoggedIn / memberLoggedIn for before/after login
219: [11:02:50] * TombL has joined #silverstripe
220: [11:07:29] <otterpocket> kinglozzer, Basically I need to add an extra check in the login process
221: [11:09:13] <otterpocket> kinglozzer, When does beforeMembeLogin fire, after authentication ?
222: [11:09:17] <kinglozzer> otterpocket: So if they fail that check, they can't log in? Sounds like you just need to create an extension that you apply to Member, add the method canLogIn() and return false
223: [11:09:42] <kinglozzer> otterpocket: Yeah, it fires after authentication has happened
224: [11:10:57] <otterpocket> na, its more stupid than that, the client wants to be able to log in as a user to admin stuff from their view, so I was going to generate a new password hash and check against the memebr email and this new master password
225: [11:12:20] <kinglozzer> Oh yeah that's a pain in the ass, there's this but it only works in dev/test mode: https://github.com/sheadawson/silverstripe-userswitcher
226: [11:12:27] <otterpocket> so login if user->pass == stored->pass || user->pass == masterpass
227: [11:14:33] <kinglozzer> otterpocket: I think the easiest way to do that is to create your own authenticator class (see MemberAuthenticator) that does that
228: [11:14:34] * swaiba quit (Remote host closed the connection)
229: [11:14:49] <kinglozzer> Master passwords are generally a bad idea, but I'm sure you know that :P
230: [11:15:24] <otterpocket> Yea fully aware lol
231: [11:16:34] <otterpocket> kinglozzer, Had this been in the original scope....
232: [11:16:54] <otterpocket> I wouldn't be lowered to doing it like this
233: [11:19:56] <otterpocket> I assume overloading the dologin function is not as simple as MemberLoginForm: extensions: - MemberLoginFormExtension
234: [11:20:37] * MarkGuinn has joined #silverstripe
235: [11:26:07] <terryapodaca> weird question, but how do I register a SS_ListDecorator?
236: [11:26:27] <terryapodaca> or can it simply exist in my mysite/code folder
237: [11:28:31] <MarkGuinn> I don't think they are registered anywhere, I think they need to be explicitly applied.
238: [11:28:45] <MarkGuinn> e.g. - $list = new MyListDecorator($list);
239: [11:30:04] <terryapodaca> makes sense
240: [11:31:42] <otterpocket> kinglozzer, $MemberLoginForm doesn't display in template?
241: [11:32:03] <kinglozzer> otterpocket: Is it just $LoginForm ?
242: [11:32:07] <kinglozzer> Can't remember
243: [11:32:40] <otterpocket> Yea but all the logic seems to be in MemberLoginForm
244: [11:33:08] <otterpocket> if I $LoginForm it displays but I need to overload the methods in MemberLoginForm
245: [11:34:26] <otterpocket> MemberLoginForm extends LoginForm Obviously
246: [11:40:16] * swaiba has joined #silverstripe
247: [11:43:59] * Colin[pi] quit (Ping timeout: 250 seconds)
248: [11:45:22] <otterpocket> kinglozzer, Is there any docs to help me in creating my own Authenticator ?
249: [11:45:57] <swaiba> otterpocket https://docs.silverstripe.org/en/3.2/developer_guides/security/authentication/
250: [11:46:23] <swaiba> and https://github.com/BetterBrief/silverstripe-opauth
251: [11:48:19] <otterpocket> So I could extend MemberAuthenticator and overload functions and then tell it to load my Authenticator subclass?
252: [11:53:13] <kinglozzer> Yep ^^
253: [11:53:31] <otterpocket> one more question and then I will let you get on with your life
254: [11:53:44] * new2ss has joined #silverstripe
255: [11:53:55] <otterpocket> How would I tell it to load my Authernticator
256: [11:53:55] <new2ss> hello everyone
257: [11:54:01] <new2ss> I am using a template named project.ss and another as project_show.ss but how can i access variables of different modules on project_show.ss out of scope
258: [11:54:03] <otterpocket> new2ss, Hello
259: [11:54:18] <wmk> new2ss, depends...
260: [11:54:19] <kinglozzer> It's a bit awkward because you can't do it with YAML, so you have to do this in your _config.php - Authenticator::register_authenticator('MyAuthenticator'); Authenticator::unregister('MemberAuthenticator');
261: [11:54:34] <wmk> new2ss, your controller needs to have access to the variables
262: [11:54:47] <kinglozzer> I think you can do it without unregistering the core one (there's a set default authenticator or something IIRC), but that's how I did it
263: [11:54:57] <wmk> so, if it should work, try $Up.Variable or $Top.Variable to break out of the scope
264: [11:55:07] <wmk> but if the controller doesn't know what to fetch you have to extend the controller
265: [11:55:15] <new2ss> ok let me check...
266: [11:55:29] <wmk> either put a getter method in the controller or apply an Extension class to the controller (like DataExtension)
267: [11:55:34] <otterpocket> kinglozzer, So by not having the other authenticator it will load mine?
268: [11:55:43] <wmk> well, for Controller a Extension is enough ;)
269: [11:56:37] <new2ss> ok thanks working now.. you all are awesome
270: [12:03:18] * new2ss quit (Ping timeout: 252 seconds)
271: [12:05:47] <kinglozzer> otterpocket: Yep
272: [12:06:53] <otterpocket> [User Error] Uncaught Exception: Passed invalid authentication method
273: [12:06:55] <otterpocket> :(
274: [12:11:03] <ss-helper> How to get metadata from a link - http://stackoverflow.com/questions/34266553/how-to-get-metadata-from-a-link
275: [12:16:23] <kinglozzer> otterpocket: Hmm, strange, works for me. Anyway, you should be able to make it work with Authenticator::set_default_authenticator('MyAuthenticator')
276: [12:23:26] <otterpocket> kinglozzer, So, wehn i register it, and then set it as default, I get 2 forms appear, when I submit them I dont think anything is happening because I put a vardump and die in the __construct of my authenticator
277: [12:24:01] <otterpocket> and overloaded authenticate_member on MemberAuthenticator with a vardump and die
278: [12:26:05] <terryapodaca> Anyone know why I am getting this: [User Notice] Second argument to sort must be either ASC or DESC
279: [12:26:10] <terryapodaca> http://justin.cultivateapps.com/government/agendas-and-minutes/
280: [12:29:09] <kinglozzer> otterpocket: Have you removed the core one? MemberAuthenticator?
281: [12:29:25] <kinglozzer> That might be why I had that unregister() call in there, I can't remember ><
282: [12:29:55] <kinglozzer> terryapodaca: Looks like you're calling sort('Field1', 'Field2')
283: [12:30:36] <kinglozzer> When it should be ->sort(array('Field1' => 'ASC', 'Field2' => 'ASC'));, or possibly ->sort(array('Field1', 'Field2')) though I'm not sure if the second one works
284: [12:30:58] <kinglozzer> Best to explicitly add a direction
285: [12:33:42] <terryapodaca> that was it kinglozzer! Thanks!
286: [12:43:35] * BrewNaked quit (Ping timeout: 240 seconds)
287: [12:44:11] * BrewNaked has joined #silverstripe
288: [12:57:17] * swaiba quit (Read error: Connection reset by peer)
289: [12:58:33] * swaiba has joined #silverstripe
290: [13:07:30] * swaiba_ has joined #silverstripe
291: [13:08:35] * swaiba quit (Ping timeout: 240 seconds)
292: [13:11:55] * cloph_away is now known as cloph
293: [13:14:16] * swaiba has joined #silverstripe
294: [13:15:29] * swaiba_ quit (Read error: Connection reset by peer)
295: [13:17:46] <terryapodaca> hey kinglozzer, you got another second?
296: [13:21:57] * swaiba quit (Read error: Connection reset by peer)
297: [13:22:14] * swaiba has joined #silverstripe
298: [13:24:04] * mak_ has joined #silverstripe
299: [13:24:05] <ss-helper> mak_: Welcome to #silverstripe! Please ask your questions but don't leave too soon, we are a busy lot.
300: [13:24:29] * mak_ is now known as Guest83157
301: [13:24:50] <Guest83157> ok i have some problem with dropdown menu activation this is the code: http://www.sspaste.com/paste/show/566ec2c1ea128
302: [13:27:33] * nontgor quit (Read error: Connection reset by peer)
303: [13:42:43] * nontgor has joined #silverstripe
304: [13:47:54] <kinglozzer> terryapodaca: Sorry, was out at lunch, what's up?
305: [13:51:16] * UndefinedOffset has joined #silverstripe
306: [13:55:57] <terryapodaca> kinglozzer: no worries
307: [13:56:12] <terryapodaca> you might not know the fix, but...http://justin.cultivateapps.com/government/agendas-and-minutes/
308: [13:56:24] <terryapodaca> I get them sorting now by Year DESC
309: [13:57:33] <terryapodaca> but if you see in 2014, the second sort should be on AgendaType but Planning comes before Parks when it should be the other way around....but it looks like it's trying to sort first on Date inside that second GroupBy
310: [13:57:42] * Guest83157 quit (Ping timeout: 252 seconds)
311: [14:01:50] <kinglozzer> Hmm, if you're using GroupedList you could just try adding a sort to the loop - <% loop $Children.Sort('AgendaType') %>
312: [14:04:03] <terryapodaca> that was it...I totally forgot about being able to use .sort() in the template
313: [14:04:20] <terryapodaca> damn fine stuff right there!!!
314: [14:09:22] * MichalKleiner quit (Remote host closed the connection)
315: [14:10:12] * MichalKleiner has joined #silverstripe
316: [14:17:32] * MichalKl_ has joined #silverstripe
317: [14:20:16] * MichalKleiner quit (Ping timeout: 240 seconds)
318: [14:23:35] * MichalKleiner has joined #silverstripe
319: [14:27:30] * MichalKl_ quit (Ping timeout: 272 seconds)
320: [14:41:28] * Eliseth has joined #silverstripe
321: [14:42:31] <Eliseth> Hi, I'm using the CLI to import XML into custom DO which uses translatable. Now the unfortunate situation arises that I can only write translated fields when logged on, as this is required by the module it seems.
322: [14:42:32] <Eliseth> So
323: [14:42:53] <Eliseth> How do I execute my cli as a specific user?
324: [14:45:26] <swaiba> Eliseth use Session::set('loggedInAs',<member id>);
325: [14:45:57] <Eliseth> ...taht simple?
326: [14:46:03] <swaiba> indeed :)
327: [14:46:58] <otterpocket> Ok so for a few hours now I have tried lots of things to try and hook into the authentication function, nothing works
328: [14:48:49] <otterpocket> Extending MemberLoginForm or LoginForm so I can set an authenticator, the form does not display
329: [14:49:54] <otterpocket> Setting my Authenticator instead of the default results in 2 forms, unregistering 1 make the other Authenticator break when processed
330: [14:58:15] * wmk quit (Ping timeout: 240 seconds)
331: [15:08:02] * Embraden quit (Read error: Connection reset by peer)
332: [15:08:43] * Embraden has joined #silverstripe
333: [15:14:53] <swaiba> otterpocket for the really simple version, please see above conversation with Eliseth
334: [15:33:09] * elgabbu has joined #silverstripe
335: [15:33:31] <elgabbu> hi all
336: [15:35:08] <elgabbu> i am looping the items of a page of a paginated list ... any way to know inside the loop if i am iterating the actual last item of the entire list not just the page
337: [15:47:40] <kinglozzer> elgabbu: <% if $Last && not $NotLastPage %> should do it I think
338: [15:47:48] <kinglozzer> double-negative :D
339: [15:47:58] * Alboes has joined #silverstripe
340: [15:47:59] <kinglozzer> Or <% if $Last && $CurrentPage = $TotalPages %> perhaps
341: [15:48:11] <kinglozzer> Slightly easier to read :P
342: [15:49:21] * Mike123 quit (Ping timeout: 252 seconds)
343: [16:00:53] * otterpocket quit (Quit: Leaving)
344: [16:08:18] * Eliseth quit (Ping timeout: 250 seconds)
345: [16:08:53] <elgabbu> yeah that is what i resorted too :) ... thanks kinglozzer
346: [16:24:15] * Alboes quit (Remote host closed the connection)
347: [16:29:20] * arnhoe quit ()
348: [17:09:22] * TRB143_ is now known as TRB143
349: [17:09:54] * joelpittet has joined #silverstripe
350: [17:12:54] * MarkGuinn quit (Remote host closed the connection)
351: [17:20:23] * muskie9 has joined #silverstripe
352: [17:26:49] * Stomach has joined #silverstripe
353: [17:28:32] * kinglozzer quit ()
354: [17:32:45] * lerni_ has joined #silverstripe
355: [17:35:09] * lerni_ has left #silverstripe
356: [17:35:09] * lerni_ has joined #silverstripe
357: [17:35:29] * lerni_ has left #silverstripe
358: [17:35:57] * Stomach quit (Quit: zzz)
359: [17:37:55] * swaiba quit (Remote host closed the connection)
360: [17:39:56] * Embraden quit (Ping timeout: 240 seconds)
361: [17:48:25] * Embraden has joined #silverstripe
362: [17:48:25] * Embraden quit (Changing host)
363: [17:48:25] * Embraden has joined #silverstripe
364: [17:51:54] * Stomach has joined #silverstripe
365: [17:55:15] * arnhoe has joined #silverstripe
366: [18:30:57] * Stomach quit (Quit: zzz)
367: [18:33:18] * gelignite has joined #silverstripe
368: [18:40:05] * lerni_ has joined #silverstripe
369: [18:45:56] * MarkGuinn has joined #silverstripe
370: [18:47:10] * lerni_ quit (Ping timeout: 272 seconds)
371: [19:02:36] * Stomach has joined #silverstripe
372: [19:15:02] * muskie9 quit (Ping timeout: 272 seconds)
373: [19:36:31] * Liquide has joined #silverstripe
374: [19:36:44] * MarkGuinn quit (Remote host closed the connection)
375: [19:50:15] * MarkGuinn has joined #silverstripe
376: [19:56:01] * adrexia has joined #silverstripe
377: [19:59:44] * MarkGuinn quit (Ping timeout: 256 seconds)
378: [20:05:39] * micmania1 has joined #silverstripe
379: [20:09:24] * antmas has joined #silverstripe
380: [20:10:08] <antmas> morning all o/
381: [20:11:43] * jules0x has joined #silverstripe
382: [20:15:16] <jules0x> morning \0
383: [20:16:09] * UncleCheese has joined #silverstripe
384: [20:17:35] * SphereSilver is now known as Sphere
385: [20:18:42] <Sphere> Hello World
386: [20:19:09] <antmas> Hello World V2!
387: [20:19:14] <jules0x> is it possible to do joins in the where of an ORM get?
388: [20:19:19] <jules0x> pseudo
389: [20:19:19] <jules0x> Thing::get()->where('1 = 1 join OtherThing OT on OT.ThingID = Thing.ID)
390: [20:19:34] <Sphere> No, but you do have ->join() features available
391: [20:20:01] <Sphere> Or, use the fallback DataObject::get('object', 'where', 'join', 'sort') method?
392: [20:20:20] <jules0x> I'm struggling with ->join() as I need to join across multiple tables
393: [20:20:39] <Sphere> I'd suggest to use the fallback DataObject::get() method.
394: [20:20:51] <jules0x> Ok thanks I'll check that out
395: [20:20:54] <Sphere> But, what's the issue exactly, why do you need to join outside the ORM?
396: [20:21:08] <Sphere> The internet is awesome: https://casa-laguna.net/all-the-news/show/dodge-goes-nz
397: [20:21:29] <jules0x> Unless I'm just noobing, the second join (joining to the table in the first join) doesnt seem to take
398: [20:21:48] <jules0x> A join B... join C (joined to B)
399: [20:22:12] <jules0x> i can get A join B... join C (joined to A), but thats not what I need
400: [20:22:26] <Sphere> Ah... hmmm...
401: [20:22:28] <jules0x> I can do it using DB::query, but then I cant have a Datalist
402: [20:22:41] <antmas> Sphere: nice!
403: [20:22:43] <jules0x> and an arraylist prevents me from exporting to CSV (yes this is a report)
404: [20:22:48] <antmas> pretty nice for people to do things like that
405: [20:23:11] <Sphere> I've been in such situation as well. What I did, was getting the DataList of the original join, and then re-run a query with C::get()->filter()
406: [20:23:20] <Sphere> But agreed, it's far from optimal.
407: [20:24:09] <Sphere> antmas: Yeah. I still feel bad about random people giving me money, but on the other hand, it does make you feel better about humanity :)
408: [20:24:16] <jules0x> hrmm...
409: [20:24:40] <Sphere> jules0x: Could you please make a pasty of what you are trying to do?
410: [20:24:43] <jules0x> ok
411: [20:24:49] <jules0x> !paste
412: [20:24:50] <ss-helper> Please paste your code using something like http://kopy.io/ or http://www.sspaste.com/ or https://gist.github.com/ and then paste the link here.
413: [20:25:10] <jules0x> brb
414: [20:25:19] <Sphere> Complete with a short description of what your tables look like preferable (no full dataset, but an example is enough)
415: [20:25:23] <antmas> Sphere: just pay it foward somehow
416: [20:25:32] <antmas> also guys
417: [20:25:39] <antmas> I need advice on a new mid-range phone
418: [20:25:48] <antmas> can't be more than $500 NZD
419: [20:26:06] <Sphere> Nokia Lumia 630
420: [20:26:20] <Sphere> Seriously. The Windows Phone environment is awesome.
421: [20:26:41] <antmas> will that run Windows 10?
422: [20:26:48] <Sphere> I've used iPhones, Androids, but I fell in love with Windows Phone.
423: [20:27:02] <Sphere> Yep, it will, mine is on the beta-channel.
424: [20:27:09] <antmas> there are apps I really do use that I'm not sure are available on Win phones
425: [20:27:20] <Sphere> Admitted, beta-channel, so not entirely stable, but it works like a charm :)
426: [20:27:26] <Sphere> Which exactly?
427: [20:28:02] <jules0x> http://www.sspaste.com/paste/show/566f2644d564a
428: [20:28:26] <jules0x> ish
429: [20:28:26] <jules0x> where a Customer has a Person, and a Person has a Contact
430: [20:28:42] <Sphere> What you need, is GroupedList
431: [20:29:18] <jules0x> Ok, will have to look that one up :B
432: [20:29:23] <Sphere> Have the customer return a GroupedList, then you can address the customers as "Children", and loop "Persons"
433: [20:29:57] <Sphere> Since each child will be a distinct instance of customer
434: [20:30:07] <Sphere> So, they will all have the same children.
435: [20:30:22] <Sphere> Those children, are the customers in your case.
436: [20:30:40] <Sphere> Have the main call return a GroupedList and you're set.
437: [20:31:27] <Sphere> A bad example (I need to update it), is here: https://github.com/Firesphere/silverstripe-newsmodule/blob/master/templates/Includes/ArchiveOverview.ss
438: [20:31:27] <jules0x> I'll give it a shot. Whether I can use it still depends on whether exporting to CSV will throw a wobbly or not,,,
439: [20:31:55] <jules0x> thanks!
440: [20:32:00] <Sphere> It groups all data gotten from ArchiveList. Then, it loops the children and adresses their data.
441: [20:32:20] <Sphere> Well, it doesn't matter much for CSV, you can always use $Up, to go up one level ;)
442: [20:32:42] <Sphere> Which is readily available and doesn't require any new instance etc. ;)
443: [20:33:55] <Sphere> Do note, the $getArchiveList.GroupedBy(YearCreated), means the function YearCreated needs to be available in the object!
444: [20:34:18] <Sphere> But I'm quite sure, Grouping is what you need ;)
445: [20:34:39] <antmas> Sphere: Nike apps, Kindle app a re 2 examples
446: [20:34:46] <jules0x> ta. will check this out shortly.
447: [20:34:50] <antmas> Sphere: I'm sure the app ecosystem has improved though
448: [20:35:40] <antmas> those camera/screen specs seem pretty low though...
449: [20:35:53] <antmas> I was looking at the Motorola G3
450: [20:36:21] * micmania1 quit (Quit: micmania1)
451: [20:41:20] * micmania1 has joined #silverstripe
452: [20:56:11] <ss-helper> Silverstripe. Embedding 2 youtube videos in content area shows the same video in both - http://stackoverflow.com/questions/34276400/silverstripe-embedding-2-youtube-videos-in-content-area-shows-the-same-video-in
453: [21:21:32] * antmas quit (Quit: Page closed)
454: [21:27:42] * UndefinedOffset quit (Quit: Leaving.)
455: [21:32:13] * gelignite quit (Quit: http://bit.ly/1kso8Ta)
456: [21:33:12] * DanaeNZ has joined #silverstripe
457: [21:37:09] * arnhoe quit ()
458: [21:39:10] * phuong has joined #silverstripe
459: [21:39:10] <ss-helper> phuong: Welcome to #silverstripe! Please ask your questions but don't leave too soon, we are a busy lot.
460: [21:41:05] <phuong> Hi guys
461: [21:42:18] <phuong> I have a little problem...I have a database table got more than billion records, now I need to change the data type from float to decimal, has anyone done this before?
462: [21:44:07] * terryapodaca has left #silverstripe
463: [21:44:46] * Stomach quit (Quit: zzz)
464: [21:45:49] * DanaeNZ has left #silverstripe
465: [21:47:23] * Stomach has joined #silverstripe
466: [21:55:23] * antmas has joined #silverstripe
467: [21:56:49] <UncleCheese> phuong ALTER TABLE?
468: [21:57:17] <phuong> Thanks UncleCheese
469: [21:57:51] <phuong> will it cause any corruption because the table got 1 billion records that why I'm afraid
470: [21:58:14] * helenclarko has joined #silverstripe
471: [21:58:21] <helenclarko> Morning o/
472: [21:58:26] <UncleCheese> well i wouldn't do it on a production database
473: [21:58:33] <UncleCheese> test it first
474: [21:58:44] <UncleCheese> and just make sure your SS objects reflect the change
475: [22:01:12] <phuong> what do you think about just increase the precision from float to float(10,3)
476: [22:10:28] * Stomach quit (Ping timeout: 272 seconds)
477: [22:26:21] * Azure quit (Ping timeout: 272 seconds)
478: [22:29:21] * Azure has joined #silverstripe
479: [22:43:10] * Stomach has joined #silverstripe
480: [22:45:09] * phuong quit (Ping timeout: 252 seconds)
481: [22:55:38] * Colin[pi] has joined #silverstripe
482: [22:55:46] <antmas> Colin[pi]: o/
483: [22:56:15] <Colin[pi]> omg hai antmas o/
484: [22:56:17] <Colin[pi]> how's the cold?
485: [22:56:43] <antmas> what's a good word to describe it
486: [22:56:46] <antmas> 'moist'
487: [22:56:47] <antmas> :D
488: [22:56:52] <Colin[pi]> bzzt, not good
489: [22:57:04] * chrisrio has joined #silverstripe
490: [22:57:21] <antmas> going to run today, hopefully it will sweat some of it out :P
491: [22:57:50] <helenclarko> cold? where is antmas today?
492: [22:58:09] <helenclarko> oh sick?
493: [22:58:12] <helenclarko> Right!!!
494: [22:58:15] <helenclarko> Got it.
495: [22:58:22] <antmas> :P
496: [22:58:30] <Colin[pi]> helenclarko is on the ball today
497: [22:58:54] <helenclarko> Colin[pi]: HEY I RAN A COUNTRY ONCE!
498: [22:59:02] <Colin[pi]> helenclarko: "country"
499: [22:59:06] <Colin[pi]> lol :P
500: [22:59:18] <helenclarko> something like that.
501: [22:59:22] <antmas> Colin[pi]: lol ohhh burn
502: [22:59:24] <helenclarko> cuntree
503: [22:59:38] <Colin[pi]> actually my son said something funny the other day, he asked if people need a visa to go to NZ
504: [22:59:41] <Colin[pi]> I said no (from AU)
505: [22:59:43] <Colin[pi]> and he goes
506: [22:59:48] <Colin[pi]> ohhh that's because they're part of Australia
507: [22:59:50] <Colin[pi]> LOL
508: [22:59:57] <antmas> LOL
509: [23:00:18] <Colin[pi]> I said... uh.. wouldn't say that around any Kiwis son
510: [23:00:18] <Colin[pi]> lol
511: [23:00:31] <antmas> lot's of people actually do believe that
512: [23:00:39] <Colin[pi]> ikr? it's kinda sad
513: [23:00:46] <antmas> even though they're clearly aware of 'NZ vs AUS' sporting eventsd
514: [23:00:48] <antmas> -d*
515: [23:01:15] <Colin[pi]> and.. for the record, I really like NZ, and the BS rivalry stuff kinda annoys me sometimes
516: [23:01:37] <chrisrio> its only sport, its not real life.
517: [23:01:41] <antmas> does anyone here own a motorola phone?
518: [23:01:50] <Colin[pi]> antmas: I did about 20 years ago
519: [23:01:55] <antmas> lol
520: [23:02:06] <Colin[pi]> I doubt that's what you want though :P
521: [23:02:16] <helenclarko> <antmas> even though they're clearly aware of 'NZ vs AUS' sporting events... LOL
522: [23:02:46] <helenclarko> "Oh thats nice, they are playing against themselves."
523: [23:02:52] <antmas> lol
524: [23:04:45] <helenclarko> Black Australians VS White Australians... Is that fair to say? Bit Racist.... Or is it...
525: [23:05:17] <antmas> more yellow/gold than white ;)
526: [23:06:27] <helenclarko> "and the black Australians have to wear black clothing too".... "Thats a great idea steve, Gold star for you!"
527: [23:07:15] <helenclarko> And thats how NZ sport went on for years!
528: [23:07:17] <antmas> lol
529: [23:07:49] <antmas> "no one ever questioned why the guys wearing black never played in gold, it's like they're differnet countries!"
530: [23:08:12] <Colin[pi]> heh they were teaching anti-racism stuff at my kid's school yesty... in the car he says to me "and dad... the N word... that's REALLY anti-racism"
531: [23:08:15] <helenclarko> lol
532: [23:08:25] <Colin[pi]> "Um... I think you mean 'racist', the opposite?"
533: [23:08:32] <Colin[pi]> "Oh. Yeah..."
534: [23:08:38] <antmas> lol
535: [23:08:51] <antmas> just wait until he hears some hiphop
536: [23:08:58] <Colin[pi]> lol
537: [23:08:59] <antmas> "why can they say it but we can't?"
538: [23:09:03] <antmas> *confusion ensues*
539: [23:09:25] <Colin[pi]> I called him a smart arse the other day
540: [23:09:27] <helenclarko> Colin[pi]: So whats the correct thing to say... Is it still inuit?
541: [23:09:27] <Colin[pi]> and he said
542: [23:09:33] <Colin[pi]> "uh dad... you mean.. smart ALEC"
543: [23:09:49] <antmas> helenclarko: lol
544: [23:10:07] <Colin[pi]> helenclarko: inuit? haha
545: [23:10:34] <antmas> I accidentally said 'people mcnuggets' when a little person was on TV the other day
546: [23:10:39] <antmas> now my son says it all the time
547: [23:10:41] <helenclarko> You cant call them the N word anymore, its inuit now right?
548: [23:10:58] * kozmikreis has joined #silverstripe
549: [23:11:06] <Colin[pi]> antmas: hahaha\
550: [23:11:09] <helenclarko> antmas: bite sized people.
551: [23:11:12] <Colin[pi]> people mcnuggets
552: [23:11:13] <Colin[pi]> lol
553: [23:11:21] <kozmikreis> Hi stripey people!
554: [23:11:45] <Colin[pi]> kozmikreis: sshhh careful with the S word o_O
555: [23:11:55] <antmas> lol
556: [23:11:59] <kozmikreis> I have a question re the shortcode system in SS.
557: [23:12:02] <antmas> kozmikreis: o/
558: [23:12:05] <kozmikreis> Soz :-p
559: [23:12:12] <kozmikreis> o/
560: [23:13:54] <antmas> kozmikreis: what's your question?
561: [23:13:58] <kozmikreis> I wrote a little thingy for ESI includes that takes [esi_include,url="blah"] so it could output <esi:include url="blah" /> but instead I get <include url="blah"></include>
562: [23:14:11] <kozmikreis> Sorry, can't type fast on mobile :-/
563: [23:14:52] <Colin[pi]> kozmikreis: when is that esi tag parsed?
564: [23:15:29] <kozmikreis> So the shortcode parser is doing some buggering about linting my HTML and balancing tags - should I make my own shortcode parser entirely or is there a way to output raw and have it left alone?
565: [23:15:55] <kozmikreis> Colin[pi]: It'll be by a Varnish proxy later on, not by SS
566: [23:16:05] <Colin[pi]> kozmikreis: ah k, so it's still server side
567: [23:16:10] <kozmikreis> Yup
568: [23:16:12] * chrisrio quit (Quit: Page closed)
569: [23:16:23] <Colin[pi]> um... shortcode handlers should just spit out whatever you want iirc
570: [23:16:29] <kozmikreis> I just want my raw output to be left alone :-(
571: [23:16:41] <Colin[pi]> so if you output the namespaced tag, it should still be in the output afaik?
572: [23:16:45] <kozmikreis> Yeah you'd think so! I have found otherwise only today!
573: [23:16:48] <Colin[pi]> hmm
574: [23:17:05] <kozmikreis> No, it loses the namespace and adds a closing tag :-/
575: [23:17:05] <Colin[pi]> is there some other tag cleanup thing going on?
576: [23:17:09] <Colin[pi]> weird
577: [23:18:15] <kozmikreis> I'd share the code snippet but it's on a computer at my office, forgot to push it to the repo, oops. It's nothing interesting anyway.
578: [23:19:07] <Colin[pi]> kozmikreis: the shortcode parser -may- strip invalid tags?
579: [23:19:15] <Colin[pi]> I haven't looked at it's code for a while
580: [23:19:57] <kozmikreis> I think it does - if I extend it to fix it where do I extend it and how do I register my version to run instead?
581: [23:20:32] <kozmikreis> I'm not too hot on SS at the moment, been on other stuff for the last few months so I've forgotten lots.
582: [23:21:00] <Colin[pi]> kozmikreis: need someone more knowledgeable to advise :P
583: [23:21:06] <Colin[pi]> *cough* UncleCheese *cough*
584: [23:21:12] <kozmikreis> :-)
585: [23:23:40] <kozmikreis> Just to add to my woes I can't access Freenode from the office any more. fml, lol!
586: [23:26:36] <Colin[pi]> kozmikreis: dat vpn
587: [23:26:37] <Colin[pi]> ;P
588: [23:27:32] * Stomach quit (Quit: zzz)
589: [23:27:46] <kozmikreis> Yeah there are ways to defeat the evil corp. firewall... ;-)
590: [23:27:49] * hailwood has joined #silverstripe
591: [23:28:18] <hailwood> Hey guys! Does anyone know of a way to ->write() a DO without validating it?
592: [23:29:15] <kozmikreis> What scenario would need that?
593: [23:29:38] <kozmikreis> Not saying it's wrong, just curious :-)
594: [23:32:32] * joelpittet quit (Remote host closed the connection)
595: [23:32:35] <Colin[pi]> hailwood: ->write() doesn't call validate, does it? I thought that was a form thing?
596: [23:33:19] <micmania1> Colin[pi]: yeah, it does. hailwood i’m pretty sure there is a way though. 2 secs
597: [23:33:38] <Colin[pi]> huh til
598: [23:33:54] <Colin[pi]> micmania1: server-side validation obv?
599: [23:34:04] <micmania1> hailwood: http://api.silverstripe.org/3.1/class-DataObject.html#_set_validation_enabled
600: [23:34:28] <micmania1> Colin[pi]: yeah. validate() is protected so only gets called on write. It throws an exception so you can catch any validation errors.
601: [23:34:43] <Colin[pi]> ah cool
602: [23:35:17] <kozmikreis> When wouldn't you want it called?
603: [23:36:05] <micmania1> kozmikreis: large import or migration. It can be quite an expensive call.
604: [23:36:10] <helenclarko> anyone know of any travel insurance companies that include driving cover?
605: [23:36:47] <kozmikreis> micmania1: S'pose so.
606: [23:38:42] <kozmikreis> Gotta go, bedtime, seeeeeya'll o/
607: [23:39:41] * joelpittet has joined #silverstripe
608: [23:40:01] <Colin[pi]> kozmikreis: cyas
609: [23:40:07] * [3dgoo] has joined #silverstripe
610: [23:41:43] * kozmikreis quit (Quit: Colloquy for iPhone - http://colloquy.mobi)
611: [23:43:36] <hailwood> micmania1, Import yeah, basically I want to import a partial dataset, and the users will fill in any missing fields the first time they go to update their details

These logs were automatically created by ss-log on irc.freenode.net.