* fix: created dashboard, widgets and dashboard widget model * fix: new user home dashboard * chore: recent projects list * chore: recent collaborators * chore: priority order change * chore: payload changes * chore: collaborator's active issue count * chore: all dashboard widgets added with services and typs * chore: centered metric for pie chart * chore: widget filters * chore: created issue filter * fix: created and assigned issues payload change * chore: created issue payload change * fix: date filter change * chore: implement filters * fix: added expansion fields * fix: changed issue structure with relation * chore: new issues response * fix: project member fix * chore: updated issue_relation structure * chore: code cleanup * chore: update issues response and added empty states * fix: button text wrap * chore: update empty state messages * fix: filters * chore: update dark mode empty states * build-error: Type check in the issue relation service * fix: issues redirection * fix: project empty state * chore: project member active check * chore: project member check in state and priority * chore: remove console logs and replace harcoded values with constants * fix: code refactoring * fix: key name changed * refactor: mapping through similar components using an array * fix: build errors --------- Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com> Co-authored-by: gurusainath <gurusainath007@gmail.com>
77 lines
4.4 KiB
Python
77 lines
4.4 KiB
Python
# Generated by Django 4.2.7 on 2024-01-08 06:47
|
|
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
import uuid
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('db', '0053_auto_20240102_1315'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Dashboard',
|
|
fields=[
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Last Modified At')),
|
|
('id', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
|
('name', models.CharField(max_length=255)),
|
|
('description_html', models.TextField(blank=True, default='<p></p>')),
|
|
('identifier', models.UUIDField(null=True)),
|
|
('is_default', models.BooleanField(default=False)),
|
|
('type_identifier', models.CharField(choices=[('workspace', 'Workspace'), ('project', 'Project'), ('home', 'Home'), ('team', 'Team'), ('user', 'User')], default='home', max_length=30, verbose_name='Dashboard Type')),
|
|
('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_created_by', to=settings.AUTH_USER_MODEL, verbose_name='Created By')),
|
|
('owned_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dashboards', to=settings.AUTH_USER_MODEL)),
|
|
('updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_updated_by', to=settings.AUTH_USER_MODEL, verbose_name='Last Modified By')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Dashboard',
|
|
'verbose_name_plural': 'Dashboards',
|
|
'db_table': 'dashboards',
|
|
'ordering': ('-created_at',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Widget',
|
|
fields=[
|
|
('id', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Last Modified At')),
|
|
('key', models.CharField(max_length=255)),
|
|
('filters', models.JSONField(default=dict)),
|
|
],
|
|
options={
|
|
'verbose_name': 'Widget',
|
|
'verbose_name_plural': 'Widgets',
|
|
'db_table': 'widgets',
|
|
'ordering': ('-created_at',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='DashboardWidget',
|
|
fields=[
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Last Modified At')),
|
|
('id', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
|
('is_visible', models.BooleanField(default=True)),
|
|
('sort_order', models.FloatField(default=65535)),
|
|
('filters', models.JSONField(default=dict)),
|
|
('properties', models.JSONField(default=dict)),
|
|
('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_created_by', to=settings.AUTH_USER_MODEL, verbose_name='Created By')),
|
|
('dashboard', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dashboard_widgets', to='db.dashboard')),
|
|
('updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='%(class)s_updated_by', to=settings.AUTH_USER_MODEL, verbose_name='Last Modified By')),
|
|
('widget', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dashboard_widgets', to='db.widget')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Dashboard Widget',
|
|
'verbose_name_plural': 'Dashboard Widgets',
|
|
'db_table': 'dashboard_widgets',
|
|
'ordering': ('-created_at',),
|
|
'unique_together': {('widget', 'dashboard')},
|
|
},
|
|
),
|
|
]
|