Inheritance diagram for App\Models\CustomField:

Public Member Functions

 fieldset ()
 
 user ()
 
 check_format ($value)
 
 db_column_name ()
 
 getFormatAttribute ($value)
 
 setFormatAttribute ($value)
 

Static Public Member Functions

static name_to_db_name ($name)
 
static boot ()
 

Public Attributes

 $guarded =["id"]
 
 $rules
 

Static Public Attributes

static $PredefinedFormats
 
static ALPHA
 
static $table_name ="assets"
 

Detailed Description

Definition at line 6 of file CustomField.php.

Member Function Documentation

static App\Models\CustomField::boot ( )
static

Definition at line 35 of file CustomField.php.

36  {
37  self::creating(function ($custom_field) {
38 
39  if (in_array($custom_field->db_column_name(), \Schema::getColumnListing(\DB::getTablePrefix().CustomField::$table_name))) {
40  //field already exists when making a new custom field; fail.
41  return false;
42  }
43 
44  \Schema::table(\DB::getTablePrefix().\App\Models\CustomField::$table_name, function ($table) use ($custom_field) {
45  $table->text($custom_field->db_column_name())->nullable();
46  });
47 
48  });
49 
50  self::updating(function ($custom_field) {
51  if ($custom_field->isDirty("name")) {
52  if (in_array($custom_field->db_column_name(), \Schema::getColumnListing(CustomField::$table_name))) {
53  //field already exists when renaming a custom field
54  return false;
55  }
56  return \DB::statement("UPDATE ".CustomField::$table_name." RENAME ".self::name_to_db_name($custom_field->get_original("name"))." TO ".$custom_field->db_column_name());
57  }
58  return true;
59  });
60 
61  self::deleting(function ($custom_field) {
62  return \DB::statement("ALTER TABLE ".CustomField::$table_name." DROP COLUMN ".$custom_field->db_column_name());
63  });
64  }
App\Models\CustomField::check_format (   $value)

Definition at line 83 of file CustomField.php.

84  {
85  return preg_match('/^'.$this->attributes['format'].'$/', $value)===1;
86  }
App\Models\CustomField::db_column_name ( )

Definition at line 88 of file CustomField.php.

89  {
90  return self::name_to_db_name($this->name);
91  }
App\Models\CustomField::fieldset ( )

Definition at line 66 of file CustomField.php.

67  {
68  return $this->belongsToMany('\App\Models\CustomFieldset'); //?!?!?!?!?!?
69  }
App\Models\CustomField::getFormatAttribute (   $value)

Definition at line 94 of file CustomField.php.

95  {
96  foreach (self::$PredefinedFormats as $name => $pattern) {
97  if ($pattern===$value) {
98  return $name;
99  }
100  }
101  return $value;
102  }
static App\Models\CustomField::name_to_db_name (   $name)
static

Definition at line 30 of file CustomField.php.

31  {
32  return "_snipeit_".preg_replace("/[^a-zA-Z0-9]/", "_", strtolower($name));
33  }
App\Models\CustomField::setFormatAttribute (   $value)

Definition at line 104 of file CustomField.php.

105  {
106  if (isset(self::$PredefinedFormats[$value])) {
107  $this->attributes['format']=self::$PredefinedFormats[$value];
108  } else {
109  $this->attributes['format']=$value;
110  }
111  }
App\Models\CustomField::user ( )

Definition at line 71 of file CustomField.php.

72  {
73  return $this->belongsTo('\App\Models\User');
74  }

Member Data Documentation

App\Models\CustomField::$guarded =["id"]

Definition at line 8 of file CustomField.php.

App\Models\CustomField::$PredefinedFormats
static
Initial value:
=[
"ANY" => ""

Definition at line 13 of file CustomField.php.

App\Models\CustomField::$rules
Initial value:
=[
"name" => "required|unique:custom_fields"
]

Definition at line 24 of file CustomField.php.

App\Models\CustomField::$table_name ="assets"
static

Definition at line 28 of file CustomField.php.

App\Models\CustomField::ALPHA
static
Initial value:
=> "alpha",
"EMAIL" => "email",
"DATE" => "date",
"URL" => "url",
"NUMERIC" => "numeric",
"MAC" => "regex:/^[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}$/",
"IP" => "ip"
]

Definition at line 15 of file CustomField.php.


The documentation for this class was generated from the following file: