bsw/jbe@0: local truster_id = app.session.member.id bsw/jbe@0: bsw/jbe@0: local trustee_id = param.get("trustee_id", atom.integer) bsw/jbe@0: bsw@248: local unit_id = param.get("unit_id", atom.integer) bsw@248: bsw/jbe@0: local area_id = param.get("area_id", atom.integer) bsw/jbe@0: bsw/jbe@0: local issue_id = param.get("issue_id", atom.integer) bsw/jbe@0: bsw/jbe@0: if issue_id then bsw/jbe@0: area_id = nil bsw/jbe@0: end bsw/jbe@0: bsw@248: local delegation = Delegation:by_pk(truster_id, unit_id, area_id, issue_id) bsw/jbe@0: bsw/jbe@4: if param.get("delete") or trustee_id == -1 then bsw/jbe@0: bsw/jbe@0: if delegation then bsw/jbe@5: bsw/jbe@0: delegation:destroy() bsw/jbe@5: bsw/jbe@0: if issue_id then bsw/jbe@0: slot.put_into("notice", _"Your delegation for this issue has been deleted.") bsw/jbe@0: elseif area_id then bsw/jbe@0: slot.put_into("notice", _"Your delegation for this area has been deleted.") bsw/jbe@0: else bsw@248: slot.put_into("notice", _"Your delegation for this unit has been deleted.") bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: end bsw/jbe@5: bsw/jbe@0: else bsw/jbe@0: bsw/jbe@0: if not delegation then bsw/jbe@0: delegation = Delegation:new() bsw/jbe@0: delegation.truster_id = truster_id bsw@248: delegation.unit_id = unit_id bsw/jbe@0: delegation.area_id = area_id bsw/jbe@0: delegation.issue_id = issue_id bsw/jbe@5: if issue_id then bsw/jbe@5: delegation.scope = "issue" bsw/jbe@5: elseif area_id then bsw/jbe@5: delegation.scope = "area" bsw@248: elseif unit_id then bsw@248: delegation.scope = "unit" bsw/jbe@5: end bsw/jbe@0: end bsw@180: if trustee_id == 0 then bsw@180: delegation.trustee_id = nil bsw@180: else bsw@180: delegation.trustee_id = trustee_id bsw@180: end bsw/jbe@0: bsw/jbe@0: delegation:save() bsw/jbe@0: bsw/jbe@0: if issue_id then bsw/jbe@0: slot.put_into("notice", _"Your delegation for this issue has been updated.") bsw/jbe@0: elseif area_id then bsw/jbe@0: slot.put_into("notice", _"Your delegation for this area has been updated.") bsw/jbe@0: else bsw@248: slot.put_into("notice", _"Your delegation for this unit has been updated.") bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: end bsw/jbe@0: