fastadmin 0.1.16__tar.gz → 0.1.17__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. {fastadmin-0.1.16 → fastadmin-0.1.17}/PKG-INFO +7 -1
  2. {fastadmin-0.1.16 → fastadmin-0.1.17}/README.md +6 -0
  3. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/api/api.py +1 -0
  4. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/models/base.py +13 -10
  5. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/models/orm/tortoise.py +1 -1
  6. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/schemas/configuration.py +1 -0
  7. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/js/main.min.js +3 -3
  8. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/js/main.min.js.map +1 -1
  9. {fastadmin-0.1.16 → fastadmin-0.1.17}/pyproject.toml +1 -1
  10. {fastadmin-0.1.16 → fastadmin-0.1.17}/LICENSE +0 -0
  11. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/__init__.py +0 -0
  12. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/api/__init__.py +0 -0
  13. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/api/depends.py +0 -0
  14. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/api/helpers.py +0 -0
  15. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/app.py +0 -0
  16. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/models/__init__.py +0 -0
  17. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/models/decorators.py +0 -0
  18. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/models/helpers.py +0 -0
  19. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/models/orm/__init__.py +0 -0
  20. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/schemas/__init__.py +0 -0
  21. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/schemas/api.py +0 -0
  22. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/settings.py +0 -0
  23. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/css/main.min.css +0 -0
  24. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/css/main.min.css.map +0 -0
  25. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/images/favicon.png +0 -0
  26. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/images/header-logo.svg +0 -0
  27. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/images/sign-in-logo.svg +0 -0
  28. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/js/787.cda612ba.chunk.js +0 -0
  29. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/static/js/787.cda612ba.chunk.js.map +0 -0
  30. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/templates/index.html +0 -0
  31. {fastadmin-0.1.16 → fastadmin-0.1.17}/fastadmin/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastadmin
3
- Version: 0.1.16
3
+ Version: 0.1.17
4
4
  Summary:
5
5
  Home-page: https://github.com/vsdudakov/fastadmin
6
6
  License: MIT
@@ -39,6 +39,12 @@ Description-Content-Type: text/markdown
39
39
  ![List View](https://raw.githubusercontent.com/vsdudakov/fastadmin/main/docs/images/list.png)
40
40
  ![Change View](https://raw.githubusercontent.com/vsdudakov/fastadmin/main/docs/images/change.png)
41
41
 
42
+ <p align="center">
43
+ <a href="https://twitter.com/intent/tweet?text=Admin%20Dashboard%20For%20FastAPI&url=https://github.com/vsdudakov/fastadmin&hashtags=FastAPI,AdminDashboard">
44
+ <img alt="tweet" src="https://img.shields.io/twitter/url/https/twitter?label=Share%20on%20twitter&style=social" target="_blank" />
45
+ </a>
46
+ </p>
47
+
42
48
  ## Introduction
43
49
 
44
50
  FastAdmin is an easy-to-use Admin App for FastAPI inspired by Django Admin.
@@ -12,6 +12,12 @@
12
12
  ![List View](https://raw.githubusercontent.com/vsdudakov/fastadmin/main/docs/images/list.png)
13
13
  ![Change View](https://raw.githubusercontent.com/vsdudakov/fastadmin/main/docs/images/change.png)
14
14
 
15
+ <p align="center">
16
+ <a href="https://twitter.com/intent/tweet?text=Admin%20Dashboard%20For%20FastAPI&url=https://github.com/vsdudakov/fastadmin&hashtags=FastAPI,AdminDashboard">
17
+ <img alt="tweet" src="https://img.shields.io/twitter/url/https/twitter?label=Share%20on%20twitter&style=social" target="_blank" />
18
+ </a>
19
+ </p>
20
+
15
21
  ## Introduction
16
22
 
17
23
  FastAdmin is an easy-to-use Admin App for FastAPI inspired by Django Admin.
@@ -430,6 +430,7 @@ async def configuration(
430
430
  actions_on_bottom=admin_obj.actions_on_bottom,
431
431
  actions_selection_counter=admin_obj.actions_selection_counter,
432
432
  fields=fields_schema,
433
+ fieldsets=admin_obj.fieldsets,
433
434
  list_per_page=admin_obj.list_per_page,
434
435
  save_on_top=admin_obj.save_on_top,
435
436
  save_as=admin_obj.save_as,
@@ -420,18 +420,21 @@ class BaseModelAdmin:
420
420
 
421
421
  :return: A list of model field names.
422
422
  """
423
- fields = self.fields
424
423
  model_fields = self.get_model_fields()
425
- if not fields:
426
- return [f for f in model_fields if not self.exclude or f not in self.exclude]
427
- return [f for f in fields if f in model_fields]
428
424
 
429
- # def get_fieldsets(self) -> Sequence[tuple[str | None, dict[str, Sequence[str]]]]:
430
- # """This method is used to get fieldsets data for form view.
431
-
432
- # :return: A list of fieldsets data.
433
- # """
434
- # return self.fieldsets
425
+ fields = [f for f in model_fields if model_fields[f].get("is_pk")]
426
+ if not self.fields:
427
+ if self.fieldsets:
428
+ for item in self.fieldsets:
429
+ for field in item[1].get("fields") or []:
430
+ if field not in fields and field not in self.exclude:
431
+ fields.append(field)
432
+ else:
433
+ for field in model_fields:
434
+ if field not in fields and field not in self.exclude:
435
+ fields.append(field)
436
+
437
+ return fields
435
438
 
436
439
  def has_add_permission(self) -> bool:
437
440
  """This method is used to check if user has permission to add new model instance.
@@ -247,7 +247,7 @@ class TortoiseModelAdmin(BaseModelAdmin):
247
247
  widget_props = {
248
248
  "required": field.get("required") or False,
249
249
  "disabled": field_name in self.readonly_fields,
250
- "readonly": field_name in self.readonly_fields,
250
+ "readOnly": field_name in self.readonly_fields,
251
251
  }
252
252
  match field.get("orm_class_name"):
253
253
  case "CharField":
@@ -92,6 +92,7 @@ class ModelSchema(BaseModel):
92
92
  actions_on_bottom: bool | None
93
93
  actions_selection_counter: bool | None
94
94
  fields: Sequence[ModelFieldSchema]
95
+ fieldsets: Sequence[tuple[str | None, dict[str, Sequence[str]]]] | None
95
96
  list_per_page: int | None
96
97
  save_on_top: bool | None
97
98
  save_as: bool | None