Newer
Older
image: "https://wiki.chaotikum.org/_media/hackerspace:nbsp:ima_9982022.jpeg"
Dieses Formular ist bisher lediglich ein Platzhalter und hat keine Funktionalität. Anfragen bitte per Mail an verleih@chaotikum.org
<input required type="text" placeholder="M. Muster" name="name" id="name" maxlength="300">
<small class="form-text text-muted">Wir werden beim Abholen deinen Personalausweis mit diesem Namen abgleichen. Bringe also bitte den Perso oder ein ähnliches Dokument mit.</small> <br><br>
<input type="text" placeholder="Chaotikum e.V." name="organisation" id="organisation" maxlength="300">
<small class="form-text text-muted">Wenn du für eine Orgnisation den Antrag stellst, schreibe diese hier rein. Sonst frei lassen.</small> <br><br>
<label for="email">E-Mail</label>
<input required type="text" placeholder="balblub@chaotikum.org" name="email" id="email" maxlength="3000">
<small class="form-text text-muted">Um dich erreichen zu können benötigen wir deine E-Mail-Adresse.</small> <br><br>
<label for="address">Adresse</label>
<input required type="text" placeholder="Fackenburger Allee 11" name="address" id="address" maxlength="3000">
<small class="form-text text-muted">Um dich erreichen zu können benötigen wir deine postalische Adresse. Auch diese werden wir (bei entleihen von Privatpersonen) mit deinem Personalausweis abgleichen. Im Falle des Entleihens für eine Organisation muss deren Adresse hier rein.</small> <br><br>
<input required type="date" name="timeframe_from" id="timeframe_from" onchange="fromDateChange()"><br>
<input required type="date" name="timeframe_too" id="timeframe_too" onchange="tooDateChange()"><br><br>
{% assign set_array = "" | split: ',' %}
{% for set in site.sets %}
{% if set.loanable -%}
{% assign set_array = set_array | push: set.tag -%}
{% endif -%}
{%- endfor-%}
{% assign set_array = set_array | uniq | sort -%}
<legend>Sets</legend>
{% for set_tag in set_array -%}
{% for set in site.sets %}
{% if set.tag == set_tag -%}
<div>
<input type="checkbox" id="{{set_tag}}" name="set_interest" value="{{set_tag}}" onclick="calc(this.id);" />
<label for="{{set_tag}}">{{set.name}}</label><br>
{% assign relevant_tools = site.inventory | where_exp: "rtools", "rtools.sets contains set_tag" -%}
<small class="form-text text-muted" style="padding-left: 10px">{% for tool in relevant_tools -%}{{tool.name}}{% unless forloop.last %}, {% endunless %}{% endfor-%}</small>
</div>
{% endif-%}
{% endfor -%}
{% endfor -%}
<br>
{%- if tool.sets contains 'leihbar' -%}
<div>
<input type="checkbox" id="{{tool.uid}}" name="device_interest" value="{{tool.uid}}" />
<label for="{{tool.uid}}"><a href="{{tool.wikilink}}">{{tool.name}}</a></label>
<textarea class="form-control" name="more" rows="5"></textarea>
<small class="form-text text-muted">Was nicht ausgewählt werden kann (wie z.B. Zubehör und Kabel die du brauchst) bitte hier eintragen</small>
<small class="form-text text-muted">Ein Verleih ist lediglich an Personen oder Organisationen möglich, die die ausgeliehenen Objekte nicht <a href="https://wiki.chaotikum.org/hackspace:kommerzielle_interessen">primär zur Umsetzung kommerzieller Interessen</a> nutzen. Sollte dies nicht klar abgrenzbar sein, kontaktiere uns bite.</small>
<input required type="checkbox" id="nocommerce" name="nocommerce" value="nocommerce" />
<label for="nocommerce">Ich nutze die ausgeliehenen Objekte nicht <a href="https://wiki.chaotikum.org/hackspace:kommerzielle_interessen">primär zur Umsetzung kommerzieller Interessen</a>.</label>
<input required type="checkbox" id="replace" name="replace" value="replace" />
<label for="nocommerce">Ich gerantiere, beschädigte oder verlorene Objekte zu ersetzen.</label>
</div>
<input required type="checkbox" id="insurance" name="insurance" value="insurance" />
<label for="nocommerce">Ich, oder die Organisation für die ich entleihe, verfügen über eine Haftpflichtversicherung.</label>
<label for="comment">Anmerkungen</label>
<textarea class="form-control" name="comment" rows="5"></textarea>
<button type="submit" class="btn btn-primary">Entleihantrag Abschicken</button>
<div style="width: 80%
border-color: #888888;
border: 1px solid;
padding: 10px;
box-shadow: 5px 10px 8px #888888;
margin: 20px;">
<p>Der Verleih für nichtkommerzielle Zwecke ist grundsätzlich kostenlos, aber wir freuen uns natürlich immer über eine <a href="https://chaotikum.org/verein/spenden/">Spende</a>.</p>
var request_from = new Date();
var request_to = new Date();
var devices;
window.onload = function() {
let xhttp = new XMLHttpRequest();
xhttp.open("GET", "{{ site.baseurl }}/nobreakspace/inventory.xml", false);
xhttp.send();
let xmlDoc = xhttp.responseXML;
devices = xmlDoc.getElementsByTagName("device")
resetLoanableObjects();
};
function brokendevices() {
for (let i = 0; i < devices.length; i++) {
devi = devices[i]
if(devi.getElementsByTagName("outofservice")[0].textContent == "true") {
deviId= devi.getElementsByTagName("uid")[0].textContent
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
cb = document.getElementById(deviId);
if(cb) {
cb.disabled = true;
}
}
}
};
function fromDateChange() {
picker = document.getElementById("timeframe_from");
console.log(picker.value)
console.log(new Date(Date.parse(picker.value)))
request_from = new Date(Date.parse(picker.value))
request_from.setHours(0,0,0,0);
resetLoanableObjects()
};
function tooDateChange() {
picker = document.getElementById("timeframe_too");
console.log(picker.value)
console.log(new Date(Date.parse(picker.value)))
request_to = new Date(Date.parse(picker.value))
request_to.setHours(23,59,59,999);
resetLoanableObjects()
};
function resetLoanableObjects() {
for (let i = 0; i < devices.length; i++) {
console.log("==========")
let crossbooking = false;
let devi = devices[i]
let deviId= devi.getElementsByTagName("uid")[0].textContent
let deviceName = devi.getElementsByTagName("name")[0].textContent
console.log(deviceName)
console.log(crossbooking)
let cbx = document.getElementById(deviId);
if(cbx) {
cbx.disabled = false;
}
let setsx = devi.getElementsByTagName("set")
for (let m = 0; m < setsx.length; m++) {
let setx = setsx[m]
let setelementx = document.getElementById(setx.textContent)
if(setelementx) {
setelementx.disabled = false;
}
}
let bookings = devi.getElementsByTagName("booking")
for (let j = 0; j < bookings.length; j++) {
let booking = bookings[j];
let start = new Date(parseInt(booking.getElementsByTagName("start")[0].textContent, 10) * 1000);
let end = new Date(parseInt(booking.getElementsByTagName("end")[0].textContent, 10) * 1000);
console.log("start " + start);
console.log("end "+ end);
console.log("request_from " + request_from);
console.log("request_to " + request_to);
if((start / 1000) < (request_to / 1000) && (end / 1000) > (request_from / 1000) ) {
crossbooking = true;
}
console.log(crossbooking)
}
if(crossbooking) {
console.log(deviId)
console.log("C2 "+ crossbooking)
let cb = document.getElementById(deviId);
if(cb) {
console.log(cb)
console.log("disable true")
cb.disabled = true;
}
let sets = devi.getElementsByTagName("set")
for (let k = 0; k < sets.length; k++) {
let set = sets[k]
let setelement = document.getElementById(set.textContent)
if(setelement) {
setelement.disabled = true;
}
}
}
console.log("==========")
}
}
{
if (id === null) {
return;
}
if(id === undefined) {
return;
}
settag = document.getElementById(id)
if(settag === null) {
return
}
if(settag.checked) {
for (let i = 0; i < devices.length; i++) {
let devi = devices[i]
let deviId= devi.getElementsByTagName("uid")[0].textContent
let sets = devi.getElementsByTagName("set")
let cb = document.getElementById(deviId);
cb.disabled = true;
}
}
}
} else {
for (let i = 0; i < devices.length; i++) {
let devi = devices[i]
let deviId= devi.getElementsByTagName("uid")[0].textContent
let sets = devi.getElementsByTagName("set")
let cb = document.getElementById(deviId);
cb.disabled = false;
}
}
}
}
}