Добавил формы создания и пофиксил баг с пользователями

This commit is contained in:
2025-11-24 23:47:00 +03:00
parent 1c18ae96f7
commit 7879c3d9b5
19 changed files with 448 additions and 183 deletions

View File

@@ -78,6 +78,7 @@ class LoadExcelDataView(LoginRequiredMixin, FormMessageMixin, FormView):
uploaded_file = self.request.FILES["file"]
selected_sat = form.cleaned_data["sat_choice"]
number = form.cleaned_data["number_input"]
is_automatic = form.cleaned_data.get("is_automatic", False)
try:
import io
@@ -85,11 +86,16 @@ class LoadExcelDataView(LoginRequiredMixin, FormMessageMixin, FormView):
df = pd.read_excel(io.BytesIO(uploaded_file.read()))
if number > 0:
df = df.head(number)
result = fill_data_from_df(df, selected_sat, self.request.user.customuser)
result = fill_data_from_df(df, selected_sat, self.request.user.customuser, is_automatic)
messages.success(
self.request, f"Данные успешно загружены! Обработано строк: {result}"
)
if is_automatic:
messages.success(
self.request, f"Данные успешно загружены как автоматические! Добавлено точек: {len(df)}"
)
else:
messages.success(
self.request, f"Данные успешно загружены! Создано источников: {result}"
)
except Exception as e:
messages.error(self.request, f"Ошибка при обработке файла: {str(e)}")
@@ -109,12 +115,19 @@ class LoadCsvDataView(LoginRequiredMixin, FormMessageMixin, FormView):
def form_valid(self, form):
uploaded_file = self.request.FILES["file"]
is_automatic = form.cleaned_data.get("is_automatic", False)
try:
content = uploaded_file.read()
if isinstance(content, bytes):
content = content.decode("utf-8")
get_points_from_csv(content, self.request.user.customuser)
result = get_points_from_csv(content, self.request.user.customuser, is_automatic)
if is_automatic:
messages.success(self.request, "Данные успешно загружены как автоматические!")
else:
messages.success(self.request, f"Данные успешно загружены! Создано источников: {result}")
except Exception as e:
messages.error(self.request, f"Ошибка при обработке файла: {str(e)}")
return redirect("mainapp:load_csv_data")