mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-18 05:28:16 -06:00
14438 script model
This commit is contained in:
parent
f63d23872f
commit
1034ee7380
35
netbox/extras/migrations/0107_alter_script_options.py
Normal file
35
netbox/extras/migrations/0107_alter_script_options.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# Generated by Django 4.2.9 on 2024-02-05 21:37
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('extras', '0106_bookmark_user_cascade_deletion'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='script',
|
||||||
|
name='name',
|
||||||
|
field=models.CharField(default=None, max_length=79),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='script',
|
||||||
|
name='script_module',
|
||||||
|
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.PROTECT, related_name='scripts', to='extras.scriptmodule'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='script',
|
||||||
|
name='id',
|
||||||
|
field=models.BigAutoField(auto_created=True, primary_key=True, serialize=False),
|
||||||
|
),
|
||||||
|
migrations.AlterModelOptions(
|
||||||
|
name='script',
|
||||||
|
options={'ordering': ('name', 'pk')},
|
||||||
|
),
|
||||||
|
]
|
@ -22,11 +22,18 @@ logger = logging.getLogger('netbox.data_backends')
|
|||||||
|
|
||||||
|
|
||||||
class Script(EventRulesMixin, models.Model):
|
class Script(EventRulesMixin, models.Model):
|
||||||
"""
|
name = models.CharField(
|
||||||
Dummy model used to generate permissions for custom scripts. Does not exist in the database.
|
verbose_name=_('name'),
|
||||||
"""
|
max_length=79,
|
||||||
|
)
|
||||||
|
script_module = models.ForeignKey(
|
||||||
|
to='extras.ScriptModule',
|
||||||
|
on_delete=models.PROTECT,
|
||||||
|
related_name='scripts'
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
managed = False
|
ordering = ('name', 'pk')
|
||||||
|
|
||||||
|
|
||||||
class ScriptModuleManager(models.Manager.from_queryset(RestrictedQuerySet)):
|
class ScriptModuleManager(models.Manager.from_queryset(RestrictedQuerySet)):
|
||||||
@ -52,6 +59,7 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.python_name
|
return self.python_name
|
||||||
|
|
||||||
|
'''
|
||||||
@cached_property
|
@cached_property
|
||||||
def scripts(self):
|
def scripts(self):
|
||||||
|
|
||||||
@ -75,6 +83,7 @@ class ScriptModule(PythonModuleMixin, JobsMixin, ManagedFile):
|
|||||||
scripts[_get_name(cls)] = cls
|
scripts[_get_name(cls)] = cls
|
||||||
|
|
||||||
return scripts
|
return scripts
|
||||||
|
'''
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
self.file_root = ManagedFileRootPathChoices.SCRIPTS
|
self.file_root = ManagedFileRootPathChoices.SCRIPTS
|
||||||
|
Loading…
Reference in New Issue
Block a user