parsav  Diff

Differences From Artifact [be5a9e1656]:

To Artifact [2f981259f7]:


   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