class ShiftPlanning::Request

Attributes

admin[R]

Setup getters and setters

api[R]

Setup getters and setters

availability[R]

Setup getters and setters

dashboard[R]

Setup getters and setters

group[R]

Setup getters and setters

location[R]

Setup getters and setters

messaging[R]

Setup getters and setters

payroll[R]

Setup getters and setters

reports[R]

Setup getters and setters

sales[R]

Setup getters and setters

schedule[R]

Setup getters and setters

staff[R]

Setup getters and setters

terminal[R]

Setup getters and setters

timeclock[R]

Setup getters and setters

training[R]

Setup getters and setters

Public Class Methods

new() click to toggle source
Constructor

**********************************

# File lib/shiftplanning/request.rb, line 33
def initialize
  @api = _api.new(SPModule.new('api.methods', 'GET'), SPModule.new('api.config', 'GET'))
  @admin = _admin.new(
    SPModule.new('admin.settings', 'GET', {}, %w(GET UPDATE), {:GET => ['token'], :UPDATE => ['token']}), 
    SPModule.new('admin.details', 'GET', {}, %w(GET UPDATE), {:GET => ['token'], :UPDATE => ['token']}), 
    SPModule.new('admin.files', 'GET', {}, %w(GET), {:GET => 'token'}), 
    SPModule.new('admin.file', 'GET', {}, %w(GET UPDATE DELETE CREATE), {
      :GET => %w(token id), :UPDATE => %w(token id), :DELETE => %w(token id), 
      :CREATE => %W(token filename filedata filelength mimetype)
    }), 
    SPModule.new('admin.backups', 'GET', {}, %w(GET), {:GET => ['token']}),
    SPModule.new('admin.backup', 'GET', {}, %w(GET DELETE CREATE), {:GET => %w(token id), :CREATE => %w(token filename filedata filelength mimetype), :DELETE => %w(token id)}), 
    SPModule.new('admin.nrequests', 'GET', {}, %w(GET), {:GET => %w(token)}), 
    SPModule.new('admin.business', 'GET', {}, %w(GET), {:GET => %w(token)}), 
    SPModule.new('admin.group_perms', 'GET', {}, %w(GET UPDATE), {:GET => %w(token), :UPDATE => %w(token)})
  )
  @messaging = _messaging.new(
    SPModule.new('messaging.messages', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('messaging.message', 'GET', {}, %w(GET CREATE DELETE UPDATE), {
      :GET => %w(token id), :CREATE => %w(token subject message to), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('messaging.shift', 'CREATE', {}, %w(CREATE), {:CREATE => %w(token subject message id)}),
    SPModule.new('messaging.wall', 'GET', {}, %w(GET CREATE DELETE), {:GET => %w(token), :CREATE => %w(token post), :DELETE => %w(token id delete)}),
    SPModule.new('messaging.notice', 'GET', {}, %w(GET UPDATE CREATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('messaging.notices', 'GET', {}, %w(GET), {:GET => %w(token)})
  )
  @reports = _reports.new(
    SPModule.new('reports.schedule', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date type)}),
    SPModule.new('reports.budget', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date)}),
    SPModule.new('reports.timesheets', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date type)}),
    SPModule.new('reports.employee', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date type)}),
    SPModule.new('reports.custom', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date type fields)}),
    SPModule.new('reports.daily_peak_hours_new', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date)}),
    SPModule.new('reports.daily_peak_hours', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date)})
  )
  @payroll = _payroll.new(
    SPModule.new('payroll.report', 'GET', {}, %w(GET), {:GET => %w(token type)}),
    SPModule.new('payroll.ratecards', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('payroll.ratecard', 'GET', {}, %w(GET CREATE DELETE UPDATE), {:GET => %w(token id), :CREATE => %w(token name), :UPDATE => %w(token id), :DELETE => %w(token id)})
  )
  @schedule = _schedule.new(
    SPModule.new('schedule.schedules', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.schedule', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token name), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('schedule.shifts', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.shift', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token start_time end_time start_date end_date), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('schedule.shiftapprove', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token id), :UPDATE => %w(token), :DELETE => %w(token id)
    }),
    SPModule.new('schedule.trade', 'GET', {}, %w(GET CREATE UDPATE), {:GET => %w(token id), :CREATE => %w(token shift tradewith reason), :UPDATE => %w(token trade action)}),
    SPModule.new('schedule.trades', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.tradelist', 'GET', {}, %w(GET), {:GET => %w(token id)}),
    SPModule.new('schedule.tradeswap', 'CREATE', {}, %w(CREATE UPDATE), {:CREATE => %w(token shift swap reason), :UPDATE => %w(token trade action)}),
    SPModule.new('schedule.vacations', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.vacation', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token start_date end_date), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('schedule.conflicts', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.copy', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.clear', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.restore', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('schedule.wizard', 'GET', {}, %w(GET), {:GET => %w(token from_start from_end to_start to_end)}),
    SPModule.new('schedule.adjust', 'UPDATE', {}, %w(UPDATE), {:UPDATE => %w(token from to budge)}),
    SPModule.new('schedule.fill', 'GET', {}, %w(GET), {:GET => %w(token shifts)}),
    SPModule.new('schedule.publish', 'GET', {}, %w(GET), {:GET => %w(token shifts)}),
    SPModule.new('schedule.requests', 'UPDATE', {}, %w(UPDATE), {:UPDATE => %w(token id type mode)}),
    SPModule.new('schedule.breakrule', 'GET', {}, %w(GET CREATE DELETE), {:GET => %w(token id), :CREATE => %w(token id break paid), :DELETE => %w(token id)}),
    SPModule.new('schedule.shiftrequests', 'CREATE', {}, %w(CREATE), {:CREATE => %w(token shift)})
  )
  @timeclock = _timeclock.new(
    SPModule.new('timeclock.timeclocks', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('timeclock.timeclock', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token start_date schedule employee start_time), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('timeclock.clockin', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('timeclock.preclockin', 'GET', {}, %w(GET CREATE), {:GET => %w(token), :CREATE => %w(token)}),
    SPModule.new('timeclock.preclockins', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('timeclock.clockout', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('timeclock.status', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('timeclock.manage', 'GET', {}, %w(GET), {:GET => %w(token id action)}),
    SPModule.new('timeclock.screenshot', 'GET', {}, %w(GET), {:GET => %w(token filedata)}),
    SPModule.new('timeclock.event', 'CREATE', {}, %w(CREATE UPDATE DELETE), {
      :CREATE => %w(token timeclock type), :UPDATE => %w(token timeclock type), :DELETE => %w(token timeclock type event)
    }),
    SPModule.new('timeclock.timesheets', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('timeclock.addclocktime', 'GET', {}, %w(GET), {:GET => %w(token employee datein dateout)}),
    SPModule.new('timeclock.savenote', 'GET', {}, %w(GET), {:GET => %w(token id)}),
    SPModule.new('timeclock.forceclockout', 'GET', {}, %w(GET), {:GET => %w(token id)}),
    SPModule.new('timeclock.location', 'CREATE', {}, %w(CREATE DELETE), {:CREATE => %w(token name), :DELETE => %w(token id)}),
    SPModule.new('timeclock.terminal', 'CREATE', {}, %w(DELETE CREATE UPDATE), {:CREATE => %w(token name location), :UPDATE => %w(token id), :DELETE => %w(token id)})
  )
  @staff = _staff.new(
    SPModule.new('staff.login', 'GET', {}, %w(GET), {:GET => %w(username password)}),
    SPModule.new('staff.logout', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('staff.me', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('staff.employees', 'GET', {}, %w(GET CREATE), {:GET => %w(token), :CREATE => %w(token)}),
    SPModule.new('staff.employee', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token), :CREATE => %w(token), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('staff.skills', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('staff.skill', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token name), :UPDATE => %w(token id name), :DELETE => %w(token id)
    }),
    SPModule.new('staff.customfields', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('staff.customfield', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token name type), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('staff.ping', 'GET', {}, %w(CREATE), {:CREATE => %w(token to message)})
  )
  @availability = _availability.new(
    SPModule.new('availability.available', 'GET', {}, %w(GET), {:GET => %w(token start_date)}),
    SPModule.new('availability.weekly', 'GET', {}, %w(GET UPDATE DELETE), {:GET => %w(token), :UPDATE => %w(token flag), :DELETE => %w(token start_time end_time)}),
    SPModule.new('availability.future', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token), :CREATE => %w(token start_date), :UPDATE => %w(token id flag), :DELETE => %w(token id)
    }),
    SPModule.new('availability.approve', 'GET', {}, %w(GET UPDATE CREATE), {:GET => %w(token type), :CREATE => %w(token), :UPDATE => %w(token user type action)})
  ) 
  @location = _location.new(
    SPModule.new('location.locations', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('location.location', 'GET', {}, %w(GET CREATE UPDATE DELETE), {
      :GET => %w(token id), :CREATE => %w(token name type), :UPDATE => %w(token id), :DELETE => %w(token id)
    })
  )
  @training = _training.new(
    SPModule.new('training.progress', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('training.sections', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('training.section', 'GET', {}, %w(GET UPDATE DELETE CREATE), {
      :GET => %w(token id), :CREATE => %w(token title), :UPDATE => %w(token id title), :DELETE => %w(token id)
    }),
    SPModule.new('training.modules', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('training.module', 'GET', {}, %w(GET UPDATE DELETE CREATE), {
      :GET => %w(token id), :CREATE => %w(token title), :UPDATE => %w(token id), :DELETE => %w(token id)
    }),
    SPModule.new('training.complete', 'UPDATE', {}, %w(UPDATE), {:UPDATE => %w(token id)}),
    SPModule.new('training.reorder', 'UPDATE', {}, %w(UPDATE), {:UPDATE => %w(token mode)}),
    SPModule.new('training.digital_signature', 'GET', {}, %w(GET), {:GET => %w(token module_id)}),
    SPModule.new('training.comments', 'GET', {}, %w(GET UPDATE), {:GET => %w(token module_id type), :UPDATE => %w(token module_id type)}),
    SPModule.new('training.sync', 'UPDATE', {}, %w(UPDATE), {:UPDATE => %w(token id)}),
    SPModule.new('training.quiz', 'UPDATE', {}, %w(UPDATE), {:UPDATE => %w(token answer)}),
    SPModule.new('training.multiassign', 'UPDATE', {}, %w(UPDATE), {:UPDATE => %w(token assignments modules mode)}),
    SPModule.new('training.tutorial', 'GET', {}, %w(GET), {:GET => %w(token tutorial_id)})
  )
  @group = _group.new(
    SPModule.new('group.accounts', 'GET', {}, %w(GET CREATE), {:GET => %w(token), :CREATE => %w(token accounts)}),
    SPModule.new('group.account', 'GET', {}, %w(GET UPDATE DELETE CREATE), {:GET => %w(token id), :CREATE => %w(token), :UPDATE => %w(token id), :DELETE => %w(token id)}),
    SPModule.new('group.accountsplit', 'CREATE', {}, %w(CREATE), {:CREATE => %w(token location main_user_id)}),
    SPModule.new('group.reports', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date type)})
  )
  @sales = _sales.new(
    SPModule.new('sales.budgets', 'GET', {}, %w(GET), {:GET => %w(token start_date end_date)}),
    SPModule.new('sales.budget', 'GET', {}, %w(GET UPDATE CREATE DELETE), {
      :GET => %w(token start_date end_date), :CREATE => %w(token start_date end_date), :UPDATE => %w(token start_date end_date), :DELETE => %w(token start_date end_date)
    })
  )
  @dashboard = _dashboard.new(
    SPModule.new('dashboard.onnow', 'GET', {}, %w(GET), {:GET => %w(token)}),
    SPModule.new('dashboard.notifications', 'GET', {}, %w(GET), {:GET => %w(token)})
  )
  @terminal = _terminal.new(
    SPModule.new('terminal.login', 'GET', {}, %w(GET), {:GET => %w(token terminal_key)}),
    SPModule.new('terminal.clockin', 'GET', {}, %w(GET), {:GET => %w(token terminal_key)}),
    SPModule.new('terminal.clockout', 'GET', {}, %w(GET), {:GET => %w(token terminal_key)})
  )
end

Public Instance Methods

_admin() click to toggle source
# File lib/shiftplanning/request.rb, line 205
def _admin; Struct.new(:settings, :details, :files, :file, :backups, :backup, :nrequests, :business, :group_perms) end
_availability() click to toggle source
# File lib/shiftplanning/request.rb, line 210
def _availability; Struct.new(:available, :weekly, :future, :approve) end
_dashboard() click to toggle source
# File lib/shiftplanning/request.rb, line 214
def _dashboard; Struct.new(:onnow, :notifications) end
_group() click to toggle source
# File lib/shiftplanning/request.rb, line 212
def _group; Struct.new(:accounts, :account, :accountsplit, :reports) end
_location() click to toggle source
# File lib/shiftplanning/request.rb, line 211
def _location; Struct.new(:locations, :location) end
_messaging() click to toggle source
# File lib/shiftplanning/request.rb, line 206
def _messaging; Struct.new(:messages, :message, :shift, :wall, :notice, :notices) end
_payroll() click to toggle source
# File lib/shiftplanning/request.rb, line 208
def _payroll; Struct.new(:report, :ratecards, :ratecard) end
_reports() click to toggle source
# File lib/shiftplanning/request.rb, line 207
def _reports; Struct.new(:schedule, :budget, :timesheets, :employee, :custom, :daily_peak_hours_new, :daily_peak_hours) end
_sales() click to toggle source
# File lib/shiftplanning/request.rb, line 213
def _sales; Struct.new(:budgets, :budget) end
_schedule() click to toggle source
# File lib/shiftplanning/request.rb, line 217
def _schedule 
  Struct.new(
    :schedules, :schedule, :shifts, :shift, :shiftapprove, :trade, :trades, 
    :tradelist, :tradeswap, :vacations, :vacation, :confilcts, :copy, :clear, :restore, :wizard,
    :adjust, :fill, :publish, :requests, :breakrule, :shiftrequests
  )
end
_staff() click to toggle source
# File lib/shiftplanning/request.rb, line 209
def _staff; Struct.new(:login, :logout, :me, :employees, :employee, :skills, :skill, :customfields, :customfield, :ping) end
_terminal() click to toggle source
# File lib/shiftplanning/request.rb, line 215
def _terminal; Struct.new(:login, :clockin, :clockout) end
_timeclock() click to toggle source
# File lib/shiftplanning/request.rb, line 225
def _timeclock
  Struct.new(
    :timeclocks, :timeclock, :clockin, :preclockin, :preclockins, :clockout, :status, :manage, 
    :screenshot, :event, :timesheets, :addclocktime, :savenote, :forceclockout, :location, :terminal
  )
end
_training() click to toggle source
# File lib/shiftplanning/request.rb, line 232
def _training
  Struct.new(
    :progress, :sections, :section, :modules, :module, :complete, :reorder, :digital_signature, 
    :comments, :sync, :quiz, :multiassign, :tutorial
  )
end

Private Instance Methods

_api() click to toggle source
# File lib/shiftplanning/request.rb, line 204
def _api; Struct.new(:methods, :config) end