quantity FIXMEs + move write permission checks based on status from validate_status() to validate()