fnschool 20251015.81127.817__py3-none-any.whl → 20251016.81833.820__py3-none-any.whl
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.
Potentially problematic release.
This version of fnschool might be problematic. Click here for more details.
- fnschoo1/__init__.py +1 -1
- fnschoo1/canteen/models.py +1 -0
- fnschoo1/canteen/templates/canteen/consumption/create.html +28 -5
- fnschoo1/canteen/templates/canteen/ingredient/list.html +10 -1
- fnschoo1/canteen/views.py +18 -3
- fnschoo1/canteen/workbook/generate.py +30 -10
- fnschoo1/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- fnschoo1/templates/home.html +3 -44
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/METADATA +1 -1
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/RECORD +19 -19
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/SOURCES.txt.py +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/WHEEL +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/dependency_links.txt.py +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/entry_points.txt +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/entry_points.txt.py +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/licenses/LICENSE +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/requires.txt.py +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/top_level.txt +0 -0
- {fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/top_level.txt.py +0 -0
fnschoo1/__init__.py
CHANGED
fnschoo1/canteen/models.py
CHANGED
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
{% for date_h in date_range %}
|
|
50
50
|
<th data-date_of_using="{{ date_h }}" class="consumption-date">
|
|
51
51
|
{{ date_h }}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
{% for meal_type in meal_types %}
|
|
53
|
+
<br />
|
|
54
|
+
|
|
|
55
|
+
{% endfor %}
|
|
56
56
|
</th>
|
|
57
57
|
{% empty %}
|
|
58
58
|
<th></th>
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
<div class='ingredient-progress'
|
|
76
76
|
style="width:{% widthratio ingredient.remaining_quantity ingredient.quantity 100 %}%"></div>
|
|
77
77
|
{{ ingredient.name }}
|
|
78
|
-
{% if ingredient.meal_type %}
|
|
78
|
+
{% if ingredient.meal_type != meal_type_name_0 %}
|
|
79
79
|
<br />
|
|
80
80
|
({{ ingredient.meal_type }})
|
|
81
81
|
{% endif %}
|
|
@@ -91,6 +91,9 @@
|
|
|
91
91
|
</table>
|
|
92
92
|
</div>
|
|
93
93
|
<div class="">
|
|
94
|
+
<button id="body_mp0_trigger"
|
|
95
|
+
onclick="set_body_to_mp0();"
|
|
96
|
+
class="btn btn-submit-consumptions btn-success float-end">||</button>
|
|
94
97
|
<button onclick="generate_spreadsheet();"
|
|
95
98
|
class="btn btn-submit-consumptions btn-success float-end">{% trans "Generate Spreadsheet" %}</button>
|
|
96
99
|
<select class="workbook-month-select form-select float-end mx-2"
|
|
@@ -112,6 +115,26 @@
|
|
|
112
115
|
|
|
113
116
|
var dont_submit = false
|
|
114
117
|
|
|
118
|
+
$(document).ready(function() {
|
|
119
|
+
var body_mp0_cookie = get_cookie("body_mp0")
|
|
120
|
+
if (body_mp0_cookie == "" || body_mp0_cookie == null) {
|
|
121
|
+
$("#body_mp0_trigger").html("<")
|
|
122
|
+
} else {
|
|
123
|
+
$("#body_mp0_trigger").html(">")
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
function set_body_to_mp0() {
|
|
128
|
+
if ($('body').hasClass("m-0")) {
|
|
129
|
+
set_simple_cookie("body_mp0", "")
|
|
130
|
+
$("#body_mp0_trigger").html(">")
|
|
131
|
+
$('body').removeClass("m-0 p-0");
|
|
132
|
+
} else {
|
|
133
|
+
set_simple_cookie("body_mp0", "1")
|
|
134
|
+
$('#body_mp0_trigger').html("<")
|
|
135
|
+
$('body').addClass("m-0 p-0");
|
|
136
|
+
}
|
|
137
|
+
}
|
|
115
138
|
|
|
116
139
|
function list_consumptions_rapidly() {
|
|
117
140
|
query = {
|
|
@@ -56,7 +56,16 @@
|
|
|
56
56
|
<tbody>
|
|
57
57
|
{% for ingredient in page_obj %}
|
|
58
58
|
<tr>
|
|
59
|
-
<th scope="row">
|
|
59
|
+
<th scope="row">
|
|
60
|
+
<div class="form-check"
|
|
61
|
+
title="{% trans 'It helps you check the ingredients.' %}">
|
|
62
|
+
<input type="checkbox"
|
|
63
|
+
class="form-check-input"
|
|
64
|
+
id="ingredient_free_nark_{{ ingredient.id }}" />
|
|
65
|
+
<label class="form-check-label"
|
|
66
|
+
for="ingredient_free_nark_{{ ingredient.id }}">{{ forloop.counter }}</label>
|
|
67
|
+
</div>
|
|
68
|
+
</th>
|
|
60
69
|
<td>{{ ingredient.storage_date }}</td>
|
|
61
70
|
<td>{{ ingredient.name }}</td>
|
|
62
71
|
<td>{{ ingredient.meal_type }}</td>
|
fnschoo1/canteen/views.py
CHANGED
|
@@ -57,6 +57,9 @@ from .forms import (
|
|
|
57
57
|
from .models import Category, Consumption, Ingredient, MealType
|
|
58
58
|
|
|
59
59
|
# Create your views here.
|
|
60
|
+
|
|
61
|
+
meal_type_name_0 = _("Meal type 0")
|
|
62
|
+
|
|
60
63
|
decimal_prec = getattr(settings, "DECIMAL_PREC", 2)
|
|
61
64
|
|
|
62
65
|
storage_date_header = (
|
|
@@ -197,6 +200,15 @@ def create_consumptions(request, ingredient_id=None):
|
|
|
197
200
|
consumptions = ingredient.consumptions.filter(
|
|
198
201
|
Q(is_disabled=False)
|
|
199
202
|
).all()
|
|
203
|
+
|
|
204
|
+
consumptions_len = len(consumptions)
|
|
205
|
+
for c_index in range(consumptions_len):
|
|
206
|
+
consumption = consumptions[c_index]
|
|
207
|
+
for c0_index in range(c_index + 1, consumptions_len):
|
|
208
|
+
consumption0 = consumptions[c0_index]
|
|
209
|
+
if consumption.date_of_using == consumption0.date_of_using:
|
|
210
|
+
consumption.delete()
|
|
211
|
+
|
|
200
212
|
consumption_dates = list(set([c.date_of_using for c in consumptions]))
|
|
201
213
|
|
|
202
214
|
for per_day in date_range:
|
|
@@ -206,9 +218,6 @@ def create_consumptions(request, ingredient_id=None):
|
|
|
206
218
|
c for c in consumptions if c.date_of_using == per_day
|
|
207
219
|
]
|
|
208
220
|
consumption = consumptions_per_day[0]
|
|
209
|
-
if len(consumptions_per_day) > 1:
|
|
210
|
-
for c in consumptions_per_day[1:]:
|
|
211
|
-
c.delete()
|
|
212
221
|
|
|
213
222
|
else:
|
|
214
223
|
consumption = Consumption()
|
|
@@ -298,6 +307,7 @@ def create_consumptions(request, ingredient_id=None):
|
|
|
298
307
|
"ingredient_ids": ingredient_ids,
|
|
299
308
|
"months": months,
|
|
300
309
|
"storage_date_start": date_start,
|
|
310
|
+
"meal_type_name_0": meal_type_name_0,
|
|
301
311
|
},
|
|
302
312
|
)
|
|
303
313
|
|
|
@@ -508,6 +518,11 @@ def create_ingredients(request):
|
|
|
508
518
|
for index, row in df.iterrows():
|
|
509
519
|
category_name = row[category_header[0]]
|
|
510
520
|
meal_type_name = row[meal_type_header[0]]
|
|
521
|
+
meal_type_name = (
|
|
522
|
+
meal_type_name_0
|
|
523
|
+
if meal_type_name is np.nan
|
|
524
|
+
else meal_type_name
|
|
525
|
+
)
|
|
511
526
|
|
|
512
527
|
category = Category.objects.filter(
|
|
513
528
|
Q(name=category_name) & Q(user=request.user)
|
|
@@ -907,7 +907,9 @@ class CanteenWorkBook:
|
|
|
907
907
|
|
|
908
908
|
title_cell_row_num = row_num
|
|
909
909
|
title_cell = sheet.cell(title_cell_row_num, 1)
|
|
910
|
-
title_cell.value = _(
|
|
910
|
+
title_cell.value = _(
|
|
911
|
+
"Consumption List Title (Consumption List Sheet)"
|
|
912
|
+
)
|
|
911
913
|
title_cell.alignment = self.center_alignment
|
|
912
914
|
title_cell.font = self.font_20_bold
|
|
913
915
|
sheet.merge_cells(f"A{title_cell_row_num}:H{title_cell_row_num}")
|
|
@@ -1085,7 +1087,22 @@ class CanteenWorkBook:
|
|
|
1085
1087
|
)
|
|
1086
1088
|
last_category = consumption.ingredient.category
|
|
1087
1089
|
|
|
1088
|
-
sheet.cell(consumption_row_num, 2
|
|
1090
|
+
ingredient_name_cell = sheet.cell(consumption_row_num, 2)
|
|
1091
|
+
ingredient_name_cell.value = consumption.ingredient.name
|
|
1092
|
+
if consumption.ingredient.name:
|
|
1093
|
+
ingredient_name_cell.comment = Comment(
|
|
1094
|
+
_(
|
|
1095
|
+
"{meal_type}({category}, Storaged/Checked at {storage_date})."
|
|
1096
|
+
).format(
|
|
1097
|
+
meal_type=consumption.ingredient.meal_type,
|
|
1098
|
+
category=consumption.ingredient.category,
|
|
1099
|
+
storage_date=consumption.ingredient.storage_date.strftime(
|
|
1100
|
+
"%Y.%m.%d"
|
|
1101
|
+
),
|
|
1102
|
+
),
|
|
1103
|
+
user.username,
|
|
1104
|
+
)
|
|
1105
|
+
|
|
1089
1106
|
sheet.cell(
|
|
1090
1107
|
consumption_row_num,
|
|
1091
1108
|
3,
|
|
@@ -1095,8 +1112,8 @@ class CanteenWorkBook:
|
|
|
1095
1112
|
consumption_row_num,
|
|
1096
1113
|
4,
|
|
1097
1114
|
(
|
|
1098
|
-
consumption.
|
|
1099
|
-
if consumption.ingredient.
|
|
1115
|
+
consumption.amount_used
|
|
1116
|
+
if consumption.ingredient.name
|
|
1100
1117
|
else ""
|
|
1101
1118
|
),
|
|
1102
1119
|
)
|
|
@@ -1105,7 +1122,7 @@ class CanteenWorkBook:
|
|
|
1105
1122
|
5,
|
|
1106
1123
|
(
|
|
1107
1124
|
consumption.ingredient.unit_price
|
|
1108
|
-
if consumption.ingredient.
|
|
1125
|
+
if consumption.ingredient.name
|
|
1109
1126
|
else ""
|
|
1110
1127
|
),
|
|
1111
1128
|
)
|
|
@@ -1115,8 +1132,7 @@ class CanteenWorkBook:
|
|
|
1115
1132
|
(
|
|
1116
1133
|
consumption.ingredient.unit_price
|
|
1117
1134
|
* consumption.amount_used
|
|
1118
|
-
if consumption.ingredient.
|
|
1119
|
-
and consumption.amount_used
|
|
1135
|
+
if consumption.ingredient.name
|
|
1120
1136
|
else ""
|
|
1121
1137
|
),
|
|
1122
1138
|
)
|
|
@@ -1944,6 +1960,7 @@ class CanteenWorkBook:
|
|
|
1944
1960
|
category_ingredients = []
|
|
1945
1961
|
for category in categories:
|
|
1946
1962
|
_ingredients = [i for i in ingredients if i.category == category]
|
|
1963
|
+
_ingredients = sorted(_ingredients, key=lambda i: (i.storage_date))
|
|
1947
1964
|
split_count = math.ceil(len(_ingredients) / ingredient_rows_count)
|
|
1948
1965
|
for i in range(0, len(_ingredients), ingredient_rows_count):
|
|
1949
1966
|
_split_ingredients = _ingredients[i : i + ingredient_rows_count]
|
|
@@ -1952,7 +1969,7 @@ class CanteenWorkBook:
|
|
|
1952
1969
|
_split_ingredients += [
|
|
1953
1970
|
Ingredient(
|
|
1954
1971
|
user=user,
|
|
1955
|
-
storage_date=
|
|
1972
|
+
storage_date=self.date_end,
|
|
1956
1973
|
name="",
|
|
1957
1974
|
meal_type=_split_ingredient0.meal_type,
|
|
1958
1975
|
category=_split_ingredient0.category,
|
|
@@ -1965,6 +1982,7 @@ class CanteenWorkBook:
|
|
|
1965
1982
|
ingredient_rows_count - len(_split_ingredients)
|
|
1966
1983
|
)
|
|
1967
1984
|
]
|
|
1985
|
+
|
|
1968
1986
|
category_ingredients.append([category, _split_ingredients])
|
|
1969
1987
|
|
|
1970
1988
|
for index, (category, c_ingredients) in enumerate(category_ingredients):
|
|
@@ -2032,7 +2050,7 @@ class CanteenWorkBook:
|
|
|
2032
2050
|
month=ingredient.storage_date.month,
|
|
2033
2051
|
day=ingredient.storage_date.day,
|
|
2034
2052
|
)
|
|
2035
|
-
if ingredient.storage_date
|
|
2053
|
+
if ingredient.storage_date and ingredient.name
|
|
2036
2054
|
else ""
|
|
2037
2055
|
)
|
|
2038
2056
|
name_cell = sheet.cell(ingredient_row_num, 2)
|
|
@@ -2145,6 +2163,8 @@ class CanteenWorkBook:
|
|
|
2145
2163
|
|
|
2146
2164
|
|
|
2147
2165
|
def get_workbook_zip(request, month):
|
|
2166
|
+
from ..views import meal_type_name_0
|
|
2167
|
+
|
|
2148
2168
|
meal_types = MealType.objects.annotate(
|
|
2149
2169
|
ingredients_count=Count("ingredients")
|
|
2150
2170
|
).filter(
|
|
@@ -2160,7 +2180,7 @@ def get_workbook_zip(request, month):
|
|
|
2160
2180
|
).format(
|
|
2161
2181
|
meal_type=(
|
|
2162
2182
|
(meal_type.abbreviation or meal_type.name)
|
|
2163
|
-
if meal_type
|
|
2183
|
+
if not meal_type.name == meal_type_name_0
|
|
2164
2184
|
else ""
|
|
2165
2185
|
),
|
|
2166
2186
|
month=month.replace("-", ""),
|
|
Binary file
|
fnschoo1/templates/home.html
CHANGED
|
@@ -4,48 +4,7 @@
|
|
|
4
4
|
{% trans "FNSCHOOL" %}
|
|
5
5
|
{% endblock %}
|
|
6
6
|
{% block content %}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
<style>
|
|
11
|
-
.aurora {
|
|
12
|
-
width: 100%;
|
|
13
|
-
height: 100vh;
|
|
14
|
-
position: relative;
|
|
15
|
-
overflow: hidden;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.aurora::before {
|
|
19
|
-
content: "";
|
|
20
|
-
position: absolute;
|
|
21
|
-
top: -50%;
|
|
22
|
-
left: -50%;
|
|
23
|
-
width: 200%;
|
|
24
|
-
height: 200%;
|
|
25
|
-
background: linear-gradient(to right, #00ff00, #0000ff, #ff0000, #ff00ff, #00ff00);
|
|
26
|
-
animation: aurora-animation 50s linear infinite;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.aurora::after {
|
|
30
|
-
content: "";
|
|
31
|
-
position: absolute;
|
|
32
|
-
top: -50%;
|
|
33
|
-
left: -50%;
|
|
34
|
-
width: 200%;
|
|
35
|
-
height: 200%;
|
|
36
|
-
background: linear-gradient(to right, #00ff00, #0000ff, #ff0000, #ff00ff, #00ff00);
|
|
37
|
-
opacity: 0.1;
|
|
38
|
-
animation: aurora-animation 30s linear infinite;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
@keyframes aurora-animation {
|
|
42
|
-
0% {
|
|
43
|
-
transform: rotate(0deg);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
100% {
|
|
47
|
-
transform: rotate(360deg);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
</style>
|
|
7
|
+
</div>
|
|
8
|
+
<script></script>
|
|
9
|
+
</style>
|
|
51
10
|
{% endblock %}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fnschool
|
|
3
|
-
Version:
|
|
3
|
+
Version: 20251016.81833.820
|
|
4
4
|
Summary: Just some school related scripts, without any ambition.
|
|
5
5
|
Author-email: larryw3i <larryw3i@163.com>, Larry Wei <larryw3i@126.com>, Larry W3i <larryw3i@yeah.net>
|
|
6
6
|
Maintainer-email: larryw3i <larryw3i@163.com>, Larry Wei <larryw3i@126.com>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
fnschoo1/__init__.py,sha256=
|
|
1
|
+
fnschoo1/__init__.py,sha256=nPu1zc5DQ6KZOGWHG_eo91S-cuFEr3q0rT83czhXMGs,197
|
|
2
2
|
fnschoo1/manage.py,sha256=VZIol9q_Dhg81_KJ9Jfq-L5O8ubQelShkA-cZVJ1S6E,1539
|
|
3
3
|
fnschoo1/canteen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
fnschoo1/canteen/admin.py,sha256=suMo4x8I3JBxAFBVIdE-5qnqZ6JAZV0FESABHOSc-vg,63
|
|
5
5
|
fnschoo1/canteen/apps.py,sha256=zUjM0ZJwHW4i72vOm87QewRlvFQORQo5yb053u4YIGs,146
|
|
6
6
|
fnschoo1/canteen/forms.py,sha256=PDPAzZZ_y533KtMxCixLXXsXok5gjUShCSXeonYgGqQ,2582
|
|
7
|
-
fnschoo1/canteen/models.py,sha256=
|
|
7
|
+
fnschoo1/canteen/models.py,sha256=AD_PTYG7_D4E_3YCTLZ8MMsNyuE5BNUpSZmBpilb3wk,5908
|
|
8
8
|
fnschoo1/canteen/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
9
9
|
fnschoo1/canteen/urls.py,sha256=4GtrqC9L59c8zopfjRgqhbcvA5iPnGcAUVuM6CrKWpk,2797
|
|
10
|
-
fnschoo1/canteen/views.py,sha256=
|
|
10
|
+
fnschoo1/canteen/views.py,sha256=kBiQjjNLPPipC7kyVYwqrrMu4hFlmDgMxJIzo52cTtI,27137
|
|
11
11
|
fnschoo1/canteen/migrations/0001_initial.py,sha256=IHlyfT9sNc-kRQZy7NyjgWzp4EGus405QCAUw4oNdAQ,3943
|
|
12
12
|
fnschoo1/canteen/migrations/0002_ingredient_is_disabled.py,sha256=j8oGWb2b99YwsEk-uwESLA_JRITEcz6b35ekoYOUGGc,444
|
|
13
13
|
fnschoo1/canteen/migrations/0003_consumption_is_disabled_alter_ingredient_is_disabled.py,sha256=9RB5SHjINgrrqtDpcVIUXEBa3C_MTcR_keXLGG_PcOs,619
|
|
@@ -31,19 +31,19 @@ fnschoo1/canteen/templates/canteen/category/delete.html,sha256=gkEg3oiIbjVsZMKEy
|
|
|
31
31
|
fnschoo1/canteen/templates/canteen/category/list.html,sha256=QLO2GA13Co48Ijd0DCCN4lcMm1fgJqT2CprH5VdLZPw,2148
|
|
32
32
|
fnschoo1/canteen/templates/canteen/category/update.html,sha256=8Nzdbe8UorrJHzElkrdqvLaPnUvcvGhrViZB4D86wqo,815
|
|
33
33
|
fnschoo1/canteen/templates/canteen/consumption/_create.html,sha256=tXlJcd566D9sYbsnj5KN-m0lyobT2AwwYt9oxUHbn4M,1026
|
|
34
|
-
fnschoo1/canteen/templates/canteen/consumption/create.html,sha256=
|
|
34
|
+
fnschoo1/canteen/templates/canteen/consumption/create.html,sha256=sd6dcn-2anmuFW7y6IWT_HGLbmA-DUyiPpyEZkwZN9U,15857
|
|
35
35
|
fnschoo1/canteen/templates/canteen/ingredient/close.html,sha256=pLYeJmGaOEJKMUJdZmYzz_n--l28IRDQ4fXvetP_Vsc,200
|
|
36
36
|
fnschoo1/canteen/templates/canteen/ingredient/create.html,sha256=xZvh0tP_cv2HPQ96JSHChO6Ni23tzHc5YJCUhE2yEqM,807
|
|
37
37
|
fnschoo1/canteen/templates/canteen/ingredient/create_one.html,sha256=O8EPSvAnEZ-4VJiwFdoyxJrMOoMpRkH6CyfvWwHaVgc,599
|
|
38
38
|
fnschoo1/canteen/templates/canteen/ingredient/delete.html,sha256=w1GK8vLTTBz4xolFce6ITZMNeBgv-XgMx9dkOykE8-A,1211
|
|
39
|
-
fnschoo1/canteen/templates/canteen/ingredient/list.html,sha256=
|
|
39
|
+
fnschoo1/canteen/templates/canteen/ingredient/list.html,sha256=7w9Yyz_TuCxJHaFadTUedh_tQLvKTCYAh583vfEBT18,4623
|
|
40
40
|
fnschoo1/canteen/templates/canteen/ingredient/update.html,sha256=VTlNSvTb-kck0S3bGtvxdJbYAtfszjtUEXP7OYva1FA,819
|
|
41
41
|
fnschoo1/canteen/templates/canteen/meal_type/create.html,sha256=7Pe0RSGtd2G2IMHwnggr0Gzs23oBqpaPqWH5zlNzc_4,596
|
|
42
42
|
fnschoo1/canteen/templates/canteen/meal_type/delete.html,sha256=1UmCyXD-6lbYl-IE63EnQCEXJr82rUCDvycI4bGuMoo,1551
|
|
43
43
|
fnschoo1/canteen/templates/canteen/meal_type/list.html,sha256=c5kJUE1OgpRtSrMV4wFwL_gbRSaX_XMM4Zt1JTx34_g,1907
|
|
44
44
|
fnschoo1/canteen/templates/canteen/meal_type/update.html,sha256=Rfv1TamSFIKHzvUNlgnmrPmfmzrehPpuo5Hv8VF0yek,818
|
|
45
45
|
fnschoo1/canteen/workbook/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
46
|
-
fnschoo1/canteen/workbook/generate.py,sha256=
|
|
46
|
+
fnschoo1/canteen/workbook/generate.py,sha256=clNO7TR4Uffb_vzaonOAS2ux09NKK3eAVFxSgu9NT_c,85879
|
|
47
47
|
fnschoo1/fnschool/__init__.py,sha256=TmHhzykpKNMoMf6eD-EKvbvmnlzs1XGHtvD55ae1sXs,287
|
|
48
48
|
fnschoo1/fnschool/asgi.py,sha256=kzkqosS10uBlyBX53EXcsATcvEZmac6nsPzyOHCuucE,393
|
|
49
49
|
fnschoo1/fnschool/settings.py,sha256=l9Y1iQCivSfmsNfnHltfXLzxP6gG4VMIL4GEZgAp8YM,4357
|
|
@@ -53,7 +53,7 @@ fnschoo1/fnschool/wsgi.py,sha256=dQq4S0vZWCz8w5R9KooJeLYTVFXvEgJRYe7NFZwVxU8,393
|
|
|
53
53
|
fnschoo1/fnschool/templatetags/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
54
54
|
fnschoo1/fnschool/templatetags/fnschool_tags.py,sha256=l5Zov4VlQKpz-69SFftP4kXyMymz-a0D5F_ss_eiFc4,568
|
|
55
55
|
fnschoo1/locale/en/LC_MESSAGES/django.mo,sha256=M8AB6fmjwlEd761iFlasNWdiEYfE-2nIwBoioGtEVUo,404
|
|
56
|
-
fnschoo1/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=
|
|
56
|
+
fnschoo1/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=OjNVXWqwJ2JKodhIa8_B6EBClFW5Vw0qPTLXLry5kM4,20601
|
|
57
57
|
fnschoo1/profiles/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
58
|
fnschoo1/profiles/admin.py,sha256=93UCvdODI63KzCDfFFnKmfvCMGCp6FCG9WErE91i79Y,522
|
|
59
59
|
fnschoo1/profiles/apps.py,sha256=WDu6eceFnDkBFMqquAolMZMo7XPb0ah6l2q2AruTrl4,215
|
|
@@ -84,7 +84,7 @@ fnschoo1/static/js/jquery.min.js,sha256=np_WnfpAmUmEO_iheFAJKf6mbm0_laW3Ns4x7kjS
|
|
|
84
84
|
fnschoo1/static/js/jquery.slim.min.js,sha256=p5YkbOjgHxX3hTadKlGuDW58NvJ1ldjjokDuDQ_5yXs,129962
|
|
85
85
|
fnschoo1/static/js/popper.min.js,sha256=O2xdmtEow7gq3I7-0lKjshvxHkBe0hTWrMkbX2fy0XQ,36887
|
|
86
86
|
fnschoo1/templates/close.html,sha256=pLYeJmGaOEJKMUJdZmYzz_n--l28IRDQ4fXvetP_Vsc,200
|
|
87
|
-
fnschoo1/templates/home.html,sha256=
|
|
87
|
+
fnschoo1/templates/home.html,sha256=34Sc9pdUN679YQE15Yp8jXtaPAcG5lyuGfX-GYJZOUc,193
|
|
88
88
|
fnschoo1/templates/base/_content.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
89
|
fnschoo1/templates/base/_css.html,sha256=I7We2o3BzNq4PBN72UOKAtXHkZ1Xb-eYP8N4bF3rm1w,16
|
|
90
90
|
fnschoo1/templates/base/_js.html,sha256=E2mgj6LQjd37r660iG2cAIOfofwuwMC6SZ59fj6wUnA,443
|
|
@@ -96,14 +96,14 @@ fnschoo1/templates/includes/_navigation.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
|
96
96
|
fnschoo1/templates/includes/_paginator.html,sha256=Z-Hxcdmun4SJ1YcHnWTDLfW8wrngROiBTwr4NZWaPP4,1246
|
|
97
97
|
fnschoo1/templates/registration/logged_out.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
98
|
fnschoo1/templates/registration/login.html,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
-
fnschool-
|
|
100
|
-
fnschool-
|
|
101
|
-
fnschool-
|
|
102
|
-
fnschool-
|
|
103
|
-
fnschool-
|
|
104
|
-
fnschool-
|
|
105
|
-
fnschool-
|
|
106
|
-
fnschool-
|
|
107
|
-
fnschool-
|
|
108
|
-
fnschool-
|
|
109
|
-
fnschool-
|
|
99
|
+
fnschool-20251016.81833.820.dist-info/licenses/LICENSE,sha256=2n6rt7r999OuXp8iOqW9we7ORaxWncIbOwN1ILRGR2g,7651
|
|
100
|
+
fnschool-20251016.81833.820.dist-info/METADATA,sha256=jw2_eg2PfZmKpDG-oGqEfB-aUPXHsNMFghaU8px9JpU,4752
|
|
101
|
+
fnschool-20251016.81833.820.dist-info/SOURCES.txt.py,sha256=2LY2mshgNtxI3ICB-oBjyMYgJk2bQqeGFM5J5ay5TQs,4954
|
|
102
|
+
fnschool-20251016.81833.820.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
103
|
+
fnschool-20251016.81833.820.dist-info/dependency_links.txt.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
104
|
+
fnschool-20251016.81833.820.dist-info/entry_points.txt,sha256=Ow5nChVFJY3O4TJAIE1ZydMev1MUtgRsT1b8eFP6728,54
|
|
105
|
+
fnschool-20251016.81833.820.dist-info/entry_points.txt.py,sha256=7iOwIx_m9Y6xJt___BZHWJh27LV5hqWnUjmj77MoRys,47
|
|
106
|
+
fnschool-20251016.81833.820.dist-info/requires.txt.py,sha256=PqRcHIQSMPUb271hacYrlSDHwB1WDZmlWUkh6RnBz_g,113
|
|
107
|
+
fnschool-20251016.81833.820.dist-info/top_level.txt,sha256=s6ZKnNm94Q0-247a50eI7jDK98uPF6P2kC9Ovd3LUlM,9
|
|
108
|
+
fnschool-20251016.81833.820.dist-info/top_level.txt.py,sha256=_7CbrSihm0dzBn_tTy2ass_Y2VlkVNT2eylE8mcfwHY,9
|
|
109
|
+
fnschool-20251016.81833.820.dist-info/RECORD,,
|
{fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/SOURCES.txt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/entry_points.txt.py
RENAMED
|
File without changes
|
{fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/requires.txt.py
RENAMED
|
File without changes
|
{fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/top_level.txt
RENAMED
|
File without changes
|
{fnschool-20251015.81127.817.dist-info → fnschool-20251016.81833.820.dist-info}/top_level.txt.py
RENAMED
|
File without changes
|