ig3tool 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/ui/bibliotheekwindow.rb +15 -33
- metadata +1 -1
data/lib/ui/bibliotheekwindow.rb
CHANGED
@@ -65,7 +65,7 @@ module Ig3tool
|
|
65
65
|
|
66
66
|
@books_list = @glade.get_widget("books_list")
|
67
67
|
@loan_list = @glade.get_widget("loan_list")
|
68
|
-
@loan_list.model = @loan_list_store = Gtk::ListStore.new(Object, String, String, String, String, String)
|
68
|
+
@loan_list.model = @loan_list_store = Gtk::ListStore.new(Object, String, String, String, String, String, String)
|
69
69
|
ll = Gtk::CellRendererText.new
|
70
70
|
@loan_list.insert_column(-1, "loan date", ll) do |tvc, cell, m ,iter|
|
71
71
|
cell.text = Time.parse(iter[0].loan_date).strftime("%d/%m/%y")
|
@@ -76,6 +76,9 @@ module Ig3tool
|
|
76
76
|
cell.text = date.strftime("%d/%m/%y")
|
77
77
|
ll.foreground = "black"
|
78
78
|
end
|
79
|
+
@loan_list.insert_column(-1, "username", ll) do |tvc, cell, m ,iter|
|
80
|
+
cell.text = $client.person_member(iter[0].member_id).username
|
81
|
+
end
|
79
82
|
@loan_list.insert_column(-1, "memberid", ll) do |tvc, cell, m ,iter|
|
80
83
|
cell.text = iter[0].member_id
|
81
84
|
end
|
@@ -102,13 +105,11 @@ module Ig3tool
|
|
102
105
|
end
|
103
106
|
|
104
107
|
def select_book(widget, path, column)
|
105
|
-
puts "-> select_book"
|
106
108
|
iter = widget.model.get_iter(path)
|
107
109
|
_show iter[0]
|
108
110
|
end
|
109
111
|
|
110
112
|
def select_loan(widget, path, column)
|
111
|
-
puts "-> select_loan"
|
112
113
|
iter = widget.model.get_iter(path)
|
113
114
|
@loan_isbn.text = iter[0].isbn
|
114
115
|
loan_isbn_set(nil)
|
@@ -118,7 +119,6 @@ module Ig3tool
|
|
118
119
|
|
119
120
|
|
120
121
|
def select_section()
|
121
|
-
puts "-> select_section"
|
122
122
|
#Thread.new do
|
123
123
|
# if @books_section.active_iter[0].nil?
|
124
124
|
# books = nil
|
@@ -130,7 +130,6 @@ module Ig3tool
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def get_fields
|
133
|
-
puts "-> get_fields"
|
134
133
|
fields = {}
|
135
134
|
@books_fields.each do |k, f|
|
136
135
|
fields[k] = f.text unless f.text.strip.empty?
|
@@ -140,7 +139,6 @@ module Ig3tool
|
|
140
139
|
end
|
141
140
|
|
142
141
|
def get_loan_fields
|
143
|
-
puts "-> get_loan_fields"
|
144
142
|
fields = {}
|
145
143
|
@loan_fields.each do |k, f|
|
146
144
|
fields[k] = f.text unless f.text.strip.empty?
|
@@ -149,7 +147,6 @@ module Ig3tool
|
|
149
147
|
end
|
150
148
|
|
151
149
|
def books_save(widget)
|
152
|
-
puts "-> books_save"
|
153
150
|
begin
|
154
151
|
$client.bib_add!(get_fields)
|
155
152
|
_update_books_list
|
@@ -162,7 +159,6 @@ module Ig3tool
|
|
162
159
|
|
163
160
|
end
|
164
161
|
def loan_extend(widget)
|
165
|
-
puts "-> loan_extend"
|
166
162
|
begin
|
167
163
|
$client.bib_extend!(get_loan_fields)
|
168
164
|
_update_loan_list
|
@@ -175,11 +171,9 @@ module Ig3tool
|
|
175
171
|
end
|
176
172
|
|
177
173
|
def hl_loan(a)
|
178
|
-
puts "hl_loan: NYI"
|
179
174
|
end
|
180
175
|
|
181
176
|
def loan_return(widget)
|
182
|
-
puts "-> loan_return"
|
183
177
|
begin
|
184
178
|
$client.bib_return!(get_loan_fields)
|
185
179
|
_update_loan_list
|
@@ -192,7 +186,6 @@ module Ig3tool
|
|
192
186
|
end
|
193
187
|
|
194
188
|
def books_delete(widget)
|
195
|
-
puts "-> books_delete"
|
196
189
|
begin
|
197
190
|
$client.bib_remove!(get_fields)
|
198
191
|
_update_books_list
|
@@ -205,17 +198,14 @@ module Ig3tool
|
|
205
198
|
end
|
206
199
|
|
207
200
|
def loan_refresh(widget)
|
208
|
-
puts "-> loan_refresh"
|
209
201
|
_update_loan_list
|
210
202
|
end
|
211
203
|
|
212
204
|
def books_refresh(widget)
|
213
|
-
puts "-> books_refresh"
|
214
205
|
_update_books_list
|
215
206
|
end
|
216
207
|
|
217
208
|
def tabfocus(widget, arg0, arg1)
|
218
|
-
puts "-> tabfocus"
|
219
209
|
if arg1 == 1
|
220
210
|
_update_loan_list
|
221
211
|
else
|
@@ -224,24 +214,19 @@ module Ig3tool
|
|
224
214
|
end
|
225
215
|
|
226
216
|
def isbn_ins(a,b,c)
|
227
|
-
puts "-> isbn_ins"
|
228
217
|
reset_books_fields(false)
|
229
218
|
end
|
230
219
|
def isbn_del(a,b,c,d)
|
231
|
-
puts "-> isbn_del"
|
232
220
|
reset_books_fields(false)
|
233
221
|
end
|
234
222
|
def loan_isbn_ins(a,b,c,d)
|
235
|
-
puts "-> loan_isbn_ins"
|
236
223
|
@loan_title.text = ""
|
237
224
|
end
|
238
225
|
def loan_isbn_del(a,b,c)
|
239
|
-
puts "-> loan_isbn_del"
|
240
226
|
@loan_title.text = ""
|
241
227
|
end
|
242
228
|
|
243
229
|
def loan_isbn_set(widget)
|
244
|
-
puts "-> loan_isbn_set"
|
245
230
|
begin
|
246
231
|
book = $client.bib_info(@loan_isbn.text)
|
247
232
|
raise Exception, "the ig3tool imps found no such book..." if book.nil?
|
@@ -255,16 +240,12 @@ module Ig3tool
|
|
255
240
|
|
256
241
|
|
257
242
|
def books_find(widget)
|
258
|
-
puts "-> books_find"
|
259
|
-
puts "start find"
|
260
243
|
Thread.new do
|
261
244
|
begin
|
262
245
|
books = $client.bib_lookup(get_fields)
|
263
246
|
if books.size == 1
|
264
|
-
puts "find 1"
|
265
247
|
_show(books.first)
|
266
248
|
else
|
267
|
-
puts "find 2"
|
268
249
|
_update_books_list(books)
|
269
250
|
end
|
270
251
|
rescue Exception => e
|
@@ -272,11 +253,9 @@ module Ig3tool
|
|
272
253
|
@books_notification.text = e.message.smaller
|
273
254
|
end
|
274
255
|
end
|
275
|
-
puts "end find"
|
276
256
|
end
|
277
257
|
|
278
258
|
def reset_books_fields(all=true)
|
279
|
-
puts "-> reset_books_fields"
|
280
259
|
@books_isbn.text = "" if all
|
281
260
|
@loan_isbn.text = ""
|
282
261
|
@books_title.text = ""
|
@@ -291,14 +270,12 @@ module Ig3tool
|
|
291
270
|
end
|
292
271
|
|
293
272
|
def books_clear(widget, all=true)
|
294
|
-
puts "-> books_clear"
|
295
273
|
reset_books_fields(all)
|
296
274
|
#_update_books_list
|
297
275
|
end
|
298
276
|
|
299
277
|
|
300
278
|
def loan_clear(widget, all=true)
|
301
|
-
puts "-> loan_clear"
|
302
279
|
@loan_isbn.text = ""
|
303
280
|
@loan_memberid.text = ""
|
304
281
|
@loan_warranty.text = "5"
|
@@ -308,10 +285,19 @@ module Ig3tool
|
|
308
285
|
end
|
309
286
|
|
310
287
|
def loan_loan(widget)
|
311
|
-
puts "-> loan_loan"
|
312
288
|
@loan_notification.text = ""
|
313
289
|
begin
|
314
|
-
|
290
|
+
fields = get_loan_fields
|
291
|
+
if fields["member"] =~ /[a-zA-Z]+/
|
292
|
+
puts "username ipv barcode: #{fields["member"]}"
|
293
|
+
membership = $client.person_membership(fields["member"])
|
294
|
+
if membership.nil?
|
295
|
+
raise IG3Error, "#{fields["member"]} is not a member..."
|
296
|
+
else
|
297
|
+
fields["member"] = membership.barcode
|
298
|
+
end
|
299
|
+
end
|
300
|
+
$client.bib_loan!(fields)
|
315
301
|
_update_loan_list
|
316
302
|
loan_clear(nil)
|
317
303
|
rescue Exception => e
|
@@ -370,7 +356,6 @@ module Ig3tool
|
|
370
356
|
end
|
371
357
|
|
372
358
|
def _show(book)
|
373
|
-
puts "-> _show"
|
374
359
|
@books_isbn.text = book["isbn"]
|
375
360
|
@loan_isbn.text = book["isbn"]
|
376
361
|
@books_title.text = book["title"]
|
@@ -387,7 +372,6 @@ module Ig3tool
|
|
387
372
|
end
|
388
373
|
|
389
374
|
def _update_books_list(books=nil, clear=true)
|
390
|
-
puts "-> _update_books_list"
|
391
375
|
@books_notification.text = "loading books..."
|
392
376
|
@books_list_store.clear if clear
|
393
377
|
Thread.new do
|
@@ -407,7 +391,6 @@ module Ig3tool
|
|
407
391
|
end
|
408
392
|
|
409
393
|
def _update_loan_list(clear=true)
|
410
|
-
puts "-> _update_loan_list"
|
411
394
|
@loan_list_store.clear if clear
|
412
395
|
Thread.new do
|
413
396
|
loans = $client.bib_loans
|
@@ -420,7 +403,6 @@ module Ig3tool
|
|
420
403
|
|
421
404
|
|
422
405
|
def _update_sections
|
423
|
-
puts "-> _update_sections"
|
424
406
|
sections = $client.bib_sections
|
425
407
|
sections_model = Gtk::ListStore.new(Object, String)
|
426
408
|
|