Differences From
Artifact [be5a9e1656]:
182 182 :lpush('" max="'):push(lib.math.decstr(max, &decbuf[20]),0)
183 183 :lpush('" value="'):push(lib.math.decstr(value, &decbuf[20]),0):lpush('"></div>')
184 184 end
185 185 end
186 186 end)
187 187
188 188 local input_pusher = function(kind,wrap,uniq)
189 - local fn = terra(acc: &lib.str.acc, name: pstr, val: pstr, lbl: pstr, on: bool, enabled: bool, class: pstr)
189 + local fn = terra(acc: &lib.str.acc, id: pstr, name: pstr, val: pstr, lbl: pstr, on: bool, enabled: bool, class: pstr)
190 190 if wrap then acc:lpush('<label>') end
191 191 acc:lpush(['<input type="'..kind..'" name="']):ppush(name)
192 192 if not wrap then
193 - acc:lpush('" id="'):ppush(name)
193 + acc:lpush('" id="'):ppush(id)
194 194 if uniq then acc:lpush('-'):ppush(val) end
195 195 end
196 196 if val:ref() then acc:lpush('" value="'):ppush(val) end
197 197 if class:ref() then acc:lpush('" class="'):ppush(class) end
198 198 acc:lpush('"')
199 199 if on then acc:lpush(' checked') end
200 200 if not enabled then acc:lpush(' disabled') end
201 201 acc:lpush('>')
202 - if not wrap then acc:lpush('<label for="'):ppush(name)
202 + if not wrap then acc:lpush('<label for="'):ppush(id)
203 203 if uniq then acc:lpush('-'):ppush(val) end
204 204 acc:lpush('">')
205 205 else acc:lpush(' ') end
206 206 acc:ppush(lbl):lpush('</label>')
207 207 end
208 208 fn.name = string.format('push-input-element<%q>',kind)
209 209 return fn
................................................................................
273 273 push_num_field(cinp, 'quota', 'quota', min, max, user.ptr.rights.quota, user.ptr.id == co.who.id and co.who.rights.rank ~= 1)
274 274 end
275 275 cinp:lpush('</div><div class="elem"><div class="check-panel">')
276 276
277 277 if user.ptr.id ~= co.who.id and
278 278 ((user.ptr.rights.rank == 0 and co.who.rights.powers.elevate()) or
279 279 (user.ptr.rights.rank > 0 and co.who.rights.powers.demote())) then
280 - push_checkbox(&cinp, 'staff', pstr.null(), 'site staff member', user.ptr.rights.rank > 0, true, pstr.null())
280 + push_checkbox(&cinp, 'staff', 'staff', pstr.null(), 'site staff member', user.ptr.rights.rank > 0, true, pstr.null())
281 281 end
282 282
283 283 cinp:lpush('</div></div>')
284 284
285 285 if (co.who.rights.powers.elevate() or
286 286 co.who.rights.powers.demote()) and user.ptr.id ~= co.who.id then
287 287 var map = array([lib.store.powmap])
................................................................................
289 289 for i=0, [map.type.N] do
290 290 if (co.who.rights.powers and map[i].val):sz() > 0 then
291 291 var on = (user.ptr.rights.powers and map[i].val):sz() > 0
292 292 var enabled = ( on and co.who.rights.powers.demote() ) or
293 293 ((not on) and co.who.rights.powers.elevate())
294 294 var namea: lib.str.acc namea:pcompose(&co.srv.pool,'power-', map[i].name)
295 295 var name = namea:finalize()
296 - push_pickbox(&cinp, name, pstr.null(), map[i].name, on, enabled, pstr.null())
296 + push_pickbox(&cinp, name, 'power', map[i].name, map[i].name, on, enabled, pstr.null())
297 297 --name:free()
298 298 end
299 299 end
300 300 cinp:lpush('</div></details>')
301 301 end
302 302
303 303 if co.who.id ~= uid and co.who.rights.powers.purge() then