Printers 2013

# Attributes

LDAP attributes required for puavo-ds schemas before this work can begin.

  - [ ]  Add `School#puavoPrinter`
    - List of printer DNs
  - [ ] Add `School#puavoWirelessPrinter`
    - List of wireless printer DNs
  - [ ] Add `Device#puavoPrinter`
    - List of printer DNs
  - [ ] Add `Group#puavoPrinter`
    - List of printer DNs

# Bootserver

- [x] Create send printers to puavo script
  - Lucid version https://github.com/opinsys/liitu-puppet/blob/master/modules/service/templates/usr/local/sbin/send_printers_to_puavo

# Printers tab for school

  - [ ] Add the tab
  - [ ] Add printers list page
    - Lists all available printers for the current school
    - From the boot servers serving the school?

# Single printer edit view under school

Accessed from the printers tab

  - [ ] Add Controller, View and Route
  - [ ] Add active for all checkbox
    - Appends printer DN to `School#puavoPrinter`
  - [ ] Add wireless active checkbox
    -  Appends printer DN to `School#puavoWirelessPrinter`
  - [ ] Make wireless checkbox imply active for all checkbox too
    - Javascript magic
  - [ ] Add groups checkbox list
    - Appends printer DN to `Group#puavoPrinter`
  - [ ] Add link list of devices with the current printer DN in `Device#puavoPrinter`
    - The link points to device edit page
    - Maybe add remove shortcut here
  - [ ] Make groups checkbox list and devices list disabled/inactive/hidden when active for all is checked
    - Javascript

# Device edit page

  - [ ] Add checkbox list of printers available for the current school
    - Appends printer DNs to `Device#puavoPrinter`

# Rest

  - [ ] Add resource for printers list for guests
    - From `School#puavoPrinter` + `Device#puavoPrinter`
    - `/v3/printer_queues/guest`
  - [ ] Add resource for printers list for wireless users
    - From `School#puavoWirelessPrinter`
    - `/v3/printer_queues/wireless`
  - [ ] Add resource for printers list for normal user
    - From `School#puavoPrinter` + `Group#puavoPrinter` + `Device#puavoPrinter`
    - `/v3/printer_queues/users/:username`