#silverstripe IRC Log

IRC log for 30 January 2016

All timestamps are in UTC.

1: [00:18:45] * joelpittet has joined #silverstripe
2: [00:26:34] * Stomach quit (Quit: zzz)
3: [00:32:37] * Tintle has left #silverstripe
4: [00:58:58] * Kolin_ has joined #silverstripe
5: [00:59:19] * liori_ has joined #silverstripe
6: [01:02:04] * Blacklite_ is now known as Blacklite
7: [01:03:22] * SphereSilver has joined #silverstripe
8: [01:04:01] * Kolin quit (*.net *.split)
9: [01:04:01] * liori quit (*.net *.split)
10: [01:04:01] * Firesphere quit (*.net *.split)
11: [01:04:01] * leomeloxp quit (*.net *.split)
12: [01:04:31] * SphereSilver is now known as Firesphere
13: [01:33:00] * BrewNaked quit (Remote host closed the connection)
14: [01:43:09] * micmania1 has joined #silverstripe
15: [01:48:00] * micmania1 quit (Ping timeout: 260 seconds)
16: [02:04:51] * liori_ is now known as liori
17: [02:23:50] * Kolin_ is now known as Kolin
18: [02:24:51] * Stomach has joined #silverstripe
19: [02:29:27] * Stomach quit (Client Quit)
20: [03:21:50] * BrewNaked has joined #silverstripe
21: [03:25:56] * BrewNaked quit (Ping timeout: 240 seconds)
22: [03:31:19] * Stomach has joined #silverstripe
23: [03:31:21] * Stomach quit (Client Quit)
24: [03:32:28] * micmania1 has joined #silverstripe
25: [03:36:47] * micmania1 quit (Ping timeout: 264 seconds)
26: [04:11:22] * joelpittet quit (Remote host closed the connection)
27: [04:48:25] * kerozene quit (Ping timeout: 245 seconds)
28: [04:52:22] * kerozene has joined #silverstripe
29: [05:03:49] * kerozene quit (Quit: brb)
30: [05:04:21] * kerozene has joined #silverstripe
31: [05:06:10] * joelpittet has joined #silverstripe
32: [05:10:41] * BrewNaked has joined #silverstripe
33: [05:15:07] * BrewNaked quit (Ping timeout: 265 seconds)
34: [05:57:46] * leomeloxp has joined #silverstripe
35: [06:00:20] * joelpittet quit (Remote host closed the connection)
36: [06:56:37] * Shrike_Finland has joined #silverstripe
37: [06:59:35] * BrewNaked has joined #silverstripe
38: [07:03:50] * BrewNaked quit (Ping timeout: 245 seconds)
39: [07:07:13] * joelpittet has joined #silverstripe
40: [07:09:32] * micmania1 has joined #silverstripe
41: [07:13:50] * micmania1 quit (Ping timeout: 245 seconds)
42: [07:24:51] * r_hector has joined #silverstripe
43: [07:43:20] * TRB143 quit (Remote host closed the connection)
44: [07:50:18] * dudinka has joined #silverstripe
45: [07:50:25] <dudinka> 'morning
46: [07:50:30] <dudinka> anyone awake?
47: [07:53:19] <dudinka> any reason why SiteTree::canCreate() cannot be overriden by extensions?
48: [08:22:48] * TRB143 has joined #silverstripe
49: [08:36:26] * joelpittet quit (Remote host closed the connection)
50: [08:48:07] * Shrike_Finland quit (Quit: Leaving.)
51: [08:48:26] * BrewNaked has joined #silverstripe
52: [08:52:58] * BrewNaked quit (Ping timeout: 250 seconds)
53: [09:05:09] * Shrike_Finland has joined #silverstripe
54: [09:19:42] * swaiba quit (Remote host closed the connection)
55: [09:21:03] <dudinka> this channel is as alive as IE6...
56: [10:35:39] * Shrike_Finland quit (Quit: Leaving.)
57: [10:37:22] * BrewNaked has joined #silverstripe
58: [10:41:40] * BrewNaked quit (Ping timeout: 250 seconds)
59: [10:47:04] * micmania1 has joined #silverstripe
60: [10:51:26] * micmania1 quit (Ping timeout: 240 seconds)
61: [10:51:29] * Shrike_Finland has joined #silverstripe
62: [11:06:38] <dudinka> not a single message in last 3 hours... everybody are asleep?
63: [12:14:11] * Shrike_Finland quit (Quit: Leaving.)
64: [12:20:26] * Shrike_Finland has joined #silverstripe
65: [12:26:14] * BrewNaked has joined #silverstripe
66: [12:30:30] * BrewNaked quit (Ping timeout: 245 seconds)
67: [12:35:37] * micmania1 has joined #silverstripe
68: [12:40:10] * micmania1 quit (Ping timeout: 260 seconds)
69: [13:20:14] * sealan has joined #silverstripe
70: [13:38:37] * sealan quit (Remote host closed the connection)
71: [13:44:29] * Shrike_Finland quit (Quit: Leaving.)
72: [13:54:57] * sealan has joined #silverstripe
73: [13:56:29] * Shrike_Finland has joined #silverstripe
74: [13:57:56] * sealan quit (Remote host closed the connection)
75: [14:02:07] * Mike123 has joined #silverstripe
76: [14:02:14] <Mike123> hey guys
77: [14:04:04] * sealan has joined #silverstripe
78: [14:11:09] * Mike123 quit (Ping timeout: 252 seconds)
79: [14:15:05] * BrewNaked has joined #silverstripe
80: [14:19:26] * BrewNaked quit (Ping timeout: 240 seconds)
81: [14:20:51] * sealan quit (Remote host closed the connection)
82: [14:50:13] * DimiStripe has joined #silverstripe
83: [14:54:06] * joelpittet has joined #silverstripe
84: [15:09:57] * teddy_ has joined #silverstripe
85: [15:26:09] * joelpittet quit (Remote host closed the connection)
86: [15:33:48] <Firesphere> Hello world
87: [15:49:16] * sealan has joined #silverstripe
88: [16:03:28] * Shrike_Finland quit (Quit: Leaving.)
89: [16:03:57] * BrewNaked has joined #silverstripe
90: [16:08:15] * BrewNaked quit (Ping timeout: 240 seconds)
91: [16:20:24] * teddy_ quit (Ping timeout: 252 seconds)
92: [16:41:04] * Azure|dc has joined #silverstripe
93: [16:41:35] <dudinka> did sun started to shine down under?
94: [16:43:04] * Azure quit (Ping timeout: 250 seconds)
95: [17:07:32] * Azure|dc quit (Quit: My Mac has gone to sleep. ZZZzzz…)
96: [17:09:58] <Zauberfisch> dudinka: you can not overwrite methods with extensions
97: [17:10:13] <Zauberfisch> you can however hook into anything that provides hooks
98: [17:10:59] <Zauberfisch> http://api.silverstripe.org/3.2/source-class-SiteTree.html#1089
99: [17:11:06] * joelpittet has joined #silverstripe
100: [17:11:16] <Zauberfisch> here is the hook, it just happens to be called "canEdit" same as the method name
101: [17:11:48] * Azure has joined #silverstripe
102: [17:13:06] <Zauberfisch> oh, can* extensions are actually going to feel like overwriting a method
103: [17:13:08] <Zauberfisch> interesting
104: [17:13:15] * sealan quit (Remote host closed the connection)
105: [17:13:27] <Zauberfisch> dudinka: well, looking at the source, overwriting/hooking into should work
106: [17:13:38] <Zauberfisch> if it is not, check if the extension is actually applied
107: [17:52:52] * BrewNaked has joined #silverstripe
108: [17:57:40] * BrewNaked quit (Ping timeout: 272 seconds)
109: [18:02:04] * micmania1 has joined #silverstripe
110: [18:06:47] * micmania1 quit (Ping timeout: 264 seconds)
111: [18:13:43] * sealan has joined #silverstripe
112: [18:18:30] * sealan quit (Ping timeout: 260 seconds)
113: [18:44:07] <dudinka> Zauberfisch: I don't want to overwrite method, just to change outcome of it
114: [18:44:23] <dudinka> and I'm quite sure extension is applied, it just won't get there
115: [18:45:11] <dudinka> while it's true that SiteTree::canCreate() has a hook for extension(s)
116: [18:45:13] <dudinka> http://api.silverstripe.org/3.2/source-class-SiteTree.html#1046
117: [18:45:32] <dudinka> it is also true that it won't get to that part if user is logged in
118: [18:45:51] <dudinka> since http://api.silverstripe.org/3.2/source-class-SiteTree.html#1043 exits the method
119: [18:47:39] <dudinka> when I comment out line #1043 - hook works like a charm
120: [18:48:02] <dudinka> but the problem is that I don't like making changes in the core
121: [18:48:22] <dudinka> because a) they will get overwritten with first update
122: [18:48:48] <dudinka> and b) I have to do it in every project, which kind of kills function of an extension
123: [18:49:39] <dudinka> original idea was to limit number of certain page instances
124: [18:49:50] <dudinka> so no one can create another page if limit is reached
125: [18:50:12] <dudinka> page are created in admin/cms, so user is logged in
126: [18:50:47] <dudinka> canEdit has same problem Zauberfisch
127: [18:51:16] <dudinka> line above hook exits method with result "true" if user is logged in and is admin
128: [19:03:04] <dudinka> anyone alive? Zauberfisch ?
129: [19:07:18] * r_hector quit (Remote host closed the connection)
130: [19:24:07] <Zauberfisch> dudinka: oh, I see your point
131: [19:24:10] <Zauberfisch> didn't read that line
132: [19:24:27] <Zauberfisch> cms assumes you can create all page types
133: [19:24:32] <Zauberfisch> somewhat makes sense I guess
134: [19:25:23] <dudinka> yes, but what if I have dumb client who has an idea that creating seven HomePages is perfectly ok?
135: [19:35:54] <Firesphere> dudinka: You could copy-paste the canCreate() to your page, and don't run the parent method?
136: [19:37:44] <dudinka> Firesphere: theoreticaly yes, but I really like DRY principle
137: [19:38:12] <Firesphere> I agree. But without tinkering on the core, I can't think of any other solution to your problem.
138: [19:38:43] <dudinka> I can, but it includes pull request :)
139: [19:40:13] <dudinka> what I'm doing right now is gathering all the code I use across all projects into one module
140: [19:41:12] <Zauberfisch> dudinka: well, if it's just the HomePage, why not overwrite canCreate in HomePage, that sounds perfectly dry to me
141: [19:41:26] <Zauberfisch> or do you have multiple classes that should only be created once?
142: [19:41:26] * m-re80625 quit (Ping timeout: 240 seconds)
143: [19:41:46] * BrewNaked has joined #silverstripe
144: [19:41:58] <dudinka> ..if you have only one project and only attach this to homepage, then yes, it's dry
145: [19:42:49] <dudinka> but since I have more than that, and it also applies to ContactPage, FAQPage, AbousUsPage...
146: [19:43:38] <Zauberfisch> I see
147: [19:43:51] <dudinka> I do not know is it just me, or everyone have issues with really creative ideas by client... but I have to put shitload of validators each time
148: [19:43:54] <Zauberfisch> hmmm
149: [19:44:24] <dudinka> for example, I have a client who keeps uploading 33+ MPix images on website that shows 240x180 thumbnails...
150: [19:45:18] <dudinka> resulting in memory exhausted error every time anyone (tries to) open the page
151: [19:46:03] <dudinka> another one created 7 homepages... because it's too damn hard to take a look at the options when creating a page
152: [19:47:01] * BrewNaked quit (Ping timeout: 276 seconds)
153: [19:47:05] <dudinka> so my code is wet as hooker's ass
154: [19:47:07] <Zauberfisch> dudinka which version of ss are you usign?
155: [19:47:28] <dudinka> 3.0.* to 3.2.*, depending on project
156: [19:47:50] <dudinka> it's been a while when I started using ss
157: [19:47:57] <dudinka> but all of them have that issue
158: [19:48:08] <Zauberfisch> with 3.1 or 3.2 should have a check to avoid running out of memory
159: [19:48:27] <Zauberfisch> if it can't resize it, it just won't do for that one image
160: [19:48:46] <dudinka> upload 20+ Mpix image and let template resize it
161: [19:49:12] <Zauberfisch> worst case scenario it will error once, and then there is a lock file
162: [19:50:03] <dudinka> but that's fixed - I extended UploadField with ImageField (it was available in 2.4 branch) with allowed extensions and validator set in constructor
163: [19:50:25] <Zauberfisch> what what?
164: [19:50:28] <Zauberfisch> wait what?
165: [19:50:59] <dudinka> you remember that in 2.4 branch was a field called ImageField?
166: [19:51:15] <dudinka> which kind of died with 3.0?
167: [19:53:00] <dudinka> well, I recreated it in my module
168: [19:53:14] <dudinka> class ImageField extends UploadField
169: [19:53:41] <dudinka> in which __construct basically calls parent::__construct()
170: [19:53:58] <dudinka> and then sets allowed extensions and custom size validator
171: [19:56:41] <dudinka> a lot of useful stuff is there... I mean in the module I'm building
172: [19:56:45] <dudinka> http://www.sspaste.com/paste/show/56ad153dc2919
173: [19:56:58] <dudinka> this is the class I'm really proud of :)
174: [19:57:13] <dudinka> well, just a part of it, but you'll get the idea
175: [19:57:35] * m-re has joined #silverstripe
176: [20:15:14] * sealan has joined #silverstripe
177: [20:21:06] * sealan quit (Ping timeout: 256 seconds)
178: [20:24:36] * Stomach has joined #silverstripe
179: [20:40:31] <Firesphere> What you could do dudinka is have a canCreate, which returns false if the count of the pagetype is 1, otherwise return parent?
180: [20:40:53] <Firesphere> That should be quite easy, PHP is an interpreter, so it quits on return....
181: [20:42:51] <Firesphere> Something like this should work fine: http://sspaste.com/paste/show/56ad2033dcd7f
182: [21:03:47] <dudinka> Firesphere: that is wrong on so many levels
183: [21:04:03] <Firesphere> Why, works fine, break before it goes.
184: [21:04:28] <Firesphere> Just a quick made-up override though, absolutely not clean or anything.
185: [21:04:30] <dudinka> how many reasons why it won't do the trick do you want?
186: [21:04:42] <Firesphere> It should just work
187: [21:04:58] <dudinka> class LandingPage extends HomePage
188: [21:05:01] <dudinka> boom
189: [21:05:25] <dudinka> no homepage created, canCreate returns false
190: [21:05:26] <Firesphere> Yeah, well, you problem there is, extending homepage is stupid. Homepage should be a final.
191: [21:06:02] <dudinka> in that specific page yes
192: [21:06:05] <Firesphere> HomePage is created by the way. H is before L in the alphabet.
193: [21:06:14] <dudinka> nope
194: [21:06:32] <Firesphere> Unless the module containing the extension is before that.
195: [21:06:33] <dudinka> LandingPage is created, and there is no HomePage
196: [21:06:48] <Firesphere> But it's utterly stupid to extend the HomePage. HomePage should be singular
197: [21:07:46] <Firesphere> Ofcourse, it's just a quick draft and multisite things need to be excluded and such.
198: [21:07:58] <dudinka> one thing I learned while ago: https://www.youtube.com/watch?v=7rr88Szc5q0
199: [21:08:01] <Firesphere> But I don't see, why having such a method in your HomePage is a problem.
200: [21:08:36] <dudinka> and your assumption is that I have one class in one project
201: [21:08:47] <dudinka> what if I told you I have more than 40 SS projects?
202: [21:08:50] <Firesphere> No, in the case of extending the Home Page, no matter what CMS/Framework, assumption isn't the problem. Stupid developers are.
203: [21:09:03] <Firesphere> Unless WordPress. Then they're all stupid.
204: [21:10:31] <dudinka> can you PLEASE acknowledge the fact that HomePage was EXAMPLE, and it was easiest to explain?
205: [21:12:04] <dudinka> I have at least 5 different page types, some of which are quite normal to be extended, and I want to limit their instances, not the instances of their children?
206: [21:12:05] <Firesphere> Ok.
207: [21:12:43] <Firesphere> But still works, if you explicitly declare the get. Since a child has a different classname, adding a filter should work.
208: [21:13:06] <dudinka> on number of classes in number of projects?
209: [21:14:05] <dudinka> I'm trying to fix the root of the problem, not the consequences
210: [21:14:15] <Firesphere> Explicitly filtering on the classname, e.g. MyPage::get()->filter(array('ClassName' => 'MyPage'))
211: [21:14:23] * Stomach quit (Quit: zzz)
212: [21:14:29] <dudinka> really?
213: [21:14:36] <dudinka> should I put that in CSS or JS?
214: [21:14:37] <Firesphere> Returns only the parent pages, not it's decendants. Thus, extending classes aren't infected by this.
215: [21:14:39] * dudinka dumb.
216: [21:14:50] <Firesphere> Errr, in code, since it's PHP
217: [21:15:22] <dudinka> sorry, my bad, I was putting it in HTML
218: [21:15:33] <dudinka> now back to serious mode
219: [21:15:37] <dudinka> NO SHIT SHERLOCK
220: [21:16:23] <dudinka> I can do that, problem is that if I do that I have to put canCreate in each and every class I want to limit in each and every project
221: [21:16:30] <Firesphere> You don't have to scream :P
222: [21:16:40] <dudinka> if I had one project, it would be really easy
223: [21:17:07] <Firesphere> Sorry if I'm being slow ;)
224: [21:17:10] <dudinka> two, three, still no problem
225: [21:17:20] <dudinka> "[22:08] <dudinka> what if I told you I have more than 40 SS projects?"
226: [21:17:44] * sealan has joined #silverstripe
227: [21:18:01] <dudinka> wouldn't be easier to create extension, preferably in module
228: [21:18:21] <dudinka> and have something like... dunno private static $limit_instances = 1;
229: [21:18:30] <Firesphere> But you want a generic solution, you could opt for an extension indeed, which reads out for example a yml setting?
230: [21:18:31] <dudinka> and extension does the rest?
231: [21:18:50] <dudinka> that would be perfect
232: [21:19:07] <dudinka> there's only one issue though: http://api.silverstripe.org/3.2/source-class-SiteTree.html#1043
233: [21:19:31] <dudinka> SiteTree::canCreate() exits (with return true) if user is logged in and is admin
234: [21:19:42] <dudinka> given that all this takes place in cms
235: [21:20:14] <dudinka> and if you want to get there you have to be a) logged in and b) admin
236: [21:20:21] <Firesphere> If you fully override, and call the parent after your on code, it should work perfectly fine.
237: [21:20:49] <Firesphere> PHP is an interpreter, thus on return, it returns. Therefor, not reaching the parent::canCreate() statement.
238: [21:21:10] <dudinka> yeah, about that...
239: [21:21:26] <dudinka> if you create an extension to manipulate canCreate method
240: [21:21:38] <dudinka> you rely on $this->extend('canCreate', $member, $parent); call
241: [21:21:46] * sealan quit (Ping timeout: 240 seconds)
242: [21:22:10] <dudinka> the problem is - it's called AFTER method returns true since you're logged in and admin
243: [21:22:21] <dudinka> and since, well, method returned anything
244: [21:22:29] <dudinka> no code after that gets executed
245: [21:22:37] <dudinka> since effin method COMPLETED
246: [21:23:43] <dudinka> "it should work perfectly fine" <--- *should* is the keyword here
247: [21:24:32] <dudinka> one would think that it would work, but until one tries to implement extension on SiteTree which manipulates canCreate(), it's only an assumption
248: [21:24:36] <dudinka> and as we all know
249: [21:24:49] <dudinka> assumption is mother of all fuck ups
250: [21:24:50] <Firesphere> Hmmm, jep, valid (crucial) point.
251: [21:24:56] <dudinka> and this one isn't exception
252: [21:26:18] <Firesphere> May I say, you're approaching your problem and possible solutions very negatively. We're all trying to think along here. Your way of saying things doesn't help others to consider thinking along.
253: [21:27:03] <dudinka> yes, you may be correct
254: [21:27:32] <dudinka> that's either I already explained above, or because I pulled my hair to fix it
255: [21:27:52] <dudinka> or it might be beer talking since I decided to grab some to relief myself
256: [21:28:41] <Firesphere> I usually don't read everything back, so that's indeed partly mine. But if someone tries to think along and help you. It's a bad habit to frustrate them ;)
257: [21:30:19] <dudinka> and again you're correct
258: [21:30:47] <Firesphere> But, back to your problem. I understand the situation now I think.
259: [21:30:49] * BrewNaked has joined #silverstripe
260: [21:31:13] <Firesphere> My solution would be quite crude, but I'd just create an array of pages that shouldn't be extended in YML.
261: [21:31:18] <dudinka> the only way of fixing it, if I'm right, is to edit SiteTree itself
262: [21:31:35] <Firesphere> And have Page.php's canCreate check this list if the treshold is reached.
263: [21:32:00] <dudinka> I have that code in more Page.php (and others) than you can count :)
264: [21:32:07] <dudinka> I want a more elegant solution
265: [21:32:09] <Firesphere> That way, you should reach the Page.php's canCreate first, and after that, reach the parents SiteTree
266: [21:32:36] <Firesphere> Any other solution besides breaking the rule of not editing the core... doesn't spring to mind right now
267: [21:32:48] <dudinka> there's always pull request
268: [21:33:04] <dudinka> but let me explain from where it all came from
269: [21:33:14] <Firesphere> I don't think it's a good idea to break Admin rights ;) But that's a different story :)
270: [21:34:04] <dudinka> you didn't read the part
271: [21:34:20] <Firesphere> Probably :)
272: [21:34:25] <dudinka> when I bitch about having a client that created 7 instances of HomePage?
273: [21:35:08] * BrewNaked quit (Ping timeout: 250 seconds)
274: [21:35:18] <dudinka> or the one who keeps uploading 33Mpix images to display a 240x180 thumbnail?
275: [21:36:19] <Firesphere> Ehm, no offence, but, why, for god's sake, does your client need to have Admin permission???
276: [21:36:37] <Firesphere> The upload of such large files, okay. Yeah, some clients think it's a good idea.
277: [21:36:57] <dudinka> that's a different issue though
278: [21:37:07] <Firesphere> But your problem starts to sound more and more like PEBKAC, or 1D10T errors.
279: [21:37:53] <Firesphere> IF your client really needs Admin rights. Create a second group, SiteAdmin, or something, with the same rights as admin.
280: [21:38:27] <Firesphere> Then they don't have exactly the same rights as admin, but do have enough rights for what they want to do?
281: [21:38:50] <dudinka> no, it doesn't sound like PEBKA error... it IS a PEBKAC error :)
282: [21:39:19] * micmania1 has joined #silverstripe
283: [21:39:56] <Firesphere> Ok. I would approach the error from the user-side and taking away their full admin rights, instead of focussing on the issue of the admin having full rights then.
284: [21:41:29] <dudinka> you mean to create third group which has full admin rights, but it's not Administrators?
285: [21:41:45] <Firesphere> Yep
286: [21:41:50] <Firesphere> That should just work.
287: [21:42:12] <dudinka> well, my solution with extension also should work
288: [21:43:00] <dudinka> does Permission::check("ADMIN") returns false for members who have full admin rights but they are not in the default Administrators group?
289: [21:43:26] * micmania1 quit (Ping timeout: 240 seconds)
290: [21:44:35] <Firesphere> If they're not decendants of ADMIN, yes.
291: [21:44:43] <Firesphere> OW, wait,
292: [21:45:05] <Firesphere> no, you should _NOT_ check the "Has full administrative rights" checkbox, obviously :)
293: [21:45:26] <dudinka> yeah, you leave that unchecked
294: [21:45:31] <dudinka> but you check all others
295: [21:45:42] <dudinka> which basicaly grants them all permissions
296: [21:45:52] <Firesphere> Yep, then they're not ADMIN-admin
297: [21:46:19] <Firesphere> but Semi-admin, just tested it, works fine for me if I limit the canCreate()
298: [21:48:00] <dudinka> so your user is basically full-rights admin
299: [21:48:13] <dudinka> but he doesn't have full admin rights LABEL
300: [21:48:26] <Firesphere> Yep
301: [21:49:32] <dudinka> that might do the trick
302: [21:50:04] <dudinka> if it's possible to hide full admin checkbox for those kind of users
303: [21:50:52] <Firesphere> I'm about to go to bed. But as far as I know, users can't grant themselves any higher level, than the permissions given.
304: [21:54:01] <dudinka> that's the problem - he has all permissions
305: [21:55:37] <dudinka> there is no higher permission than those he already has
306: [21:57:16] <dudinka> anyway, I really think that this should be fixed in the core, since all other ways are just workarounds
307: [21:57:18] <dudinka> so.. https://github.com/silverstripe/silverstripe-cms/pull/1382
308: [21:57:23] <Firesphere> Revoke the "Full Admin rights"?
309: [21:58:33] * joelpittet quit (Remote host closed the connection)
310: [22:05:42] <dudinka> yes, since he has them all
311: [22:05:49] <dudinka> only the label is missing
312: [22:06:09] <dudinka> or he can put himself in Administrators group
313: [22:06:49] <dudinka> either way workaround stops working
314: [22:23:58] * joelpittet has joined #silverstripe
315: [22:28:36] * joelpittet quit (Ping timeout: 256 seconds)
316: [22:51:13] * joelpittet has joined #silverstripe
317: [22:54:22] * joelpittet quit (Read error: Connection reset by peer)
318: [22:54:29] * joelpittet has joined #silverstripe
319: [22:54:44] * spronk has joined #silverstripe
320: [23:08:03] * Kolin_ has joined #silverstripe
321: [23:10:45] * Kolin quit (Ping timeout: 240 seconds)
322: [23:18:55] * sealan has joined #silverstripe
323: [23:19:48] * BrewNaked has joined #silverstripe
324: [23:23:35] * sealan quit (Ping timeout: 265 seconds)
325: [23:24:46] * BrewNaked quit (Ping timeout: 276 seconds)
326: [23:28:08] * micmania1 has joined #silverstripe
327: [23:33:13] * micmania1 quit (Ping timeout: 276 seconds)

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