/**
  * @param APPLICATION $context Main application.
  */
 public function __construct($context)
 {
     parent::__construct($context);
     $field = new TITLE_FIELD();
     $field->id = 'name';
     $field->caption = 'Title';
     $field->visible = false;
     $this->add_field($field);
     $field = new BOOLEAN_FIELD();
     $field->id = 'use_defaults';
     $field->caption = 'Use Defaults';
     $this->add_field($field);
     /** @var PERMISSIONS_FORMATTER $formatter */
     $formatter = $this->app->make_permissions_formatter();
     $this->content_groups = $formatter->content_privilege_groups();
     $this->global_groups = $formatter->global_privilege_groups();
     foreach ($this->content_groups as $group) {
         foreach ($group->maps as $map) {
             $field = new INTEGER_FIELD();
             $field->id = $map->id();
             $field->min_value = Privilege_always_denied;
             $field->max_value = Privilege_controlled_by_content;
             $this->add_privilege_field($field);
         }
     }
     foreach ($this->global_groups as $group) {
         foreach ($group->maps as $map) {
             $field = new BOOLEAN_FIELD();
             $field->id = $map->id();
             $this->add_privilege_field($field);
         }
     }
 }
 /**
  * @param APPLICATION $context Main application.
  */
 public function __construct($context)
 {
     parent::__construct($context);
     $field = new INTEGER_FIELD();
     $field->id = 'id';
     $field->caption = 'ID';
     $field->min_value = 1;
     $field->visible = false;
     $this->add_field($field);
     $formatter = $this->app->make_permissions_formatter();
     $this->groups = $formatter->content_privilege_groups();
     foreach ($this->groups as $group) {
         foreach ($group->maps as $map) {
             $field = new BOOLEAN_FIELD();
             $field->id = $map->id();
             $field->sticky = true;
             $this->add_field($field);
         }
     }
 }