Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
1311 Разработка системы заявок для 3д печати
project_1311
Commits
45b7d1cb
Commit
45b7d1cb
authored
2 months ago
by
“Mikkelando”
Browse files
Options
Download
Patches
Plain Diff
add func for daemon message sending
parent
e9d59784
develop
profile
revert-7060de16
xserver
1 merge request
!16
Profile
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
movere_local/db.sqlite3
+0
-0
movere_local/db.sqlite3
movere_local/mainapp/migrations/0009_editrequest_received_file_and_more.py
+90
-0
...app/migrations/0009_editrequest_received_file_and_more.py
movere_local/mainapp/migrations/0010_delete_incoming_req.py
+16
-0
movere_local/mainapp/migrations/0010_delete_incoming_req.py
movere_local/mainapp/models.py
+48
-3
movere_local/mainapp/models.py
with
154 additions
and
3 deletions
+154
-3
movere_local/db.sqlite3
+
0
−
0
View file @
45b7d1cb
No preview for this file type
This diff is collapsed.
Click to expand it.
movere_local/mainapp/migrations/0009_editrequest_received_file_and_more.py
0 → 100644
+
90
−
0
View file @
45b7d1cb
# Generated by Django 4.2.16 on 2025-01-16 16:33
from
django.db
import
migrations
,
models
import
django.db.models.deletion
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
"mainapp"
,
"0008_editrequest"
),
]
operations
=
[
migrations
.
AddField
(
model_name
=
"editrequest"
,
name
=
"received_file"
,
field
=
models
.
CharField
(
blank
=
True
,
max_length
=
255
,
null
=
True
),
),
migrations
.
AlterField
(
model_name
=
"editrequest"
,
name
=
"req_state"
,
field
=
models
.
CharField
(
choices
=
[
(
"wait_confirmation"
,
"Ожидание подтверждения"
),
(
"in_progress"
,
"В работе"
),
(
"ready"
,
"Готово"
),
(
"error"
,
"Ошибка"
),
],
default
=
"wait_confirmation"
,
max_length
=
50
,
),
),
migrations
.
CreateModel
(
name
=
"IncomingEditRequest"
,
fields
=
[
(
"id"
,
models
.
BigAutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
"ID"
,
),
),
(
"response_datetime"
,
models
.
DateTimeField
(
auto_now_add
=
True
)),
(
"server_response"
,
models
.
TextField
()),
(
"result_file_path"
,
models
.
CharField
(
blank
=
True
,
max_length
=
255
,
null
=
True
),
),
(
"status"
,
models
.
CharField
(
choices
=
[(
"ready"
,
"Готово"
),
(
"error"
,
"Ошибка"
)],
max_length
=
50
,
),
),
(
"related_request"
,
models
.
OneToOneField
(
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
related_name
=
"incoming_request"
,
to
=
"mainapp.editrequest"
,
),
),
],
),
migrations
.
CreateModel
(
name
=
"Incoming_req"
,
fields
=
[
(
"id"
,
models
.
BigAutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
"ID"
,
),
),
(
"processed_datetime"
,
models
.
DateTimeField
(
auto_now_add
=
True
)),
(
"job_state"
,
models
.
CharField
(
default
=
"success"
,
max_length
=
50
)),
(
"order"
,
models
.
OneToOneField
(
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
to
=
"mainapp.order"
),
),
],
),
]
This diff is collapsed.
Click to expand it.
movere_local/mainapp/migrations/0010_delete_incoming_req.py
0 → 100644
+
16
−
0
View file @
45b7d1cb
# Generated by Django 4.2.16 on 2025-01-20 22:21
from
django.db
import
migrations
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
"mainapp"
,
"0009_editrequest_received_file_and_more"
),
]
operations
=
[
migrations
.
DeleteModel
(
name
=
"Incoming_req"
,
),
]
This diff is collapsed.
Click to expand it.
movere_local/mainapp/models.py
+
48
−
3
View file @
45b7d1cb
from
django.contrib.auth.models
import
User
from
django.db
import
models
import
threading
import
time
class
Order
(
models
.
Model
):
order_datetime
=
models
.
DateTimeField
(
auto_now_add
=
True
)
# Дата и время создания заказа
...
...
@@ -11,17 +13,60 @@ class Order(models.Model):
def
__str__
(
self
):
return
f
"Order
{
self
.
id
}
for
{
self
.
user
.
username
}
"
class
EditRequest
(
models
.
Model
):
req_datetime
=
models
.
DateTimeField
(
auto_now_add
=
True
)
# Дата и время создания заказа
user
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
CASCADE
)
# Связь с пользователем
req_parameters
=
models
.
TextField
(
default
=
'no parameters'
)
# Параметры заказа
file_path
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
# Путь к файлу
req_state
=
models
.
CharField
(
max_length
=
50
,
default
=
'wait_confirmation'
)
# Состояние заказа
req_state
=
models
.
CharField
(
max_length
=
50
,
default
=
'wait_confirmation'
,
choices
=
[
(
'wait_confirmation'
,
'Ожидание подтверждения'
),
(
'in_progress'
,
'В работе'
),
(
'ready'
,
'Готово'
),
(
'error'
,
'Ошибка'
),
]
)
# Состояние заказа
received_file
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
# Полученный файл от сервера
def
__str__
(
self
):
return
f
"Edit Request
{
self
.
id
}
for
{
self
.
user
.
username
}
"
def
save
(
self
,
*
args
,
**
kwargs
):
# Сохраняем объект
is_new
=
self
.
pk
is
None
super
().
save
(
*
args
,
**
kwargs
)
# Если это новый объект, запускаем фоновую задачу
if
is_new
:
threading
.
Thread
(
target
=
self
.
send_request_to_server
,
args
=
(),
daemon
=
True
).
start
()
def
send_request_to_server
(
self
):
# Заглушка для отправки данных на сервер
print
(
f
"Начало отправки данных для заявки
{
self
.
id
}
"
)
time
.
sleep
(
5
)
# Симуляция задержки
print
(
f
"Данные для заявки
{
self
.
id
}
отправлены на сервер."
)
class
IncomingEditRequest
(
models
.
Model
):
related_request
=
models
.
OneToOneField
(
EditRequest
,
on_delete
=
models
.
CASCADE
,
related_name
=
'incoming_request'
)
# Связь с исходной заявкой
response_datetime
=
models
.
DateTimeField
(
auto_now_add
=
True
)
# Время получения ответа
server_response
=
models
.
TextField
()
# Ответ от сервера
result_file_path
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
# Путь к полученному файлу
status
=
models
.
CharField
(
max_length
=
50
,
choices
=
[
(
'ready'
,
'Готово'
),
(
'error'
,
'Ошибка'
),
]
)
# Статус результата
def
__str__
(
self
):
return
f
"Incoming Edit Request for
{
self
.
related_request
}
"
class
Storage
(
models
.
Model
):
user
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
CASCADE
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets