Skip to content

Commit ff3398a

Browse files
Merge pull request #495 from CodeForPhilly/slugs-for-services-447
Slugs for services 447
2 parents c2405a1 + af1d34f commit ff3398a

31 files changed

+306
-337
lines changed

core/admin.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,15 @@
44
# Register your models here.
55
admin.site.register(ProgramAvailability)
66
admin.site.register(Program)
7-
admin.site.register(Service)
87
admin.site.register(Site)
8+
9+
10+
class ServiceAdmin(admin.ModelAdmin):
11+
12+
def get_readonly_fields(self, request, obj=None):
13+
# slug is set on create and unchangable afterwards
14+
if obj:
15+
return ('slug',)
16+
return []
17+
18+
admin.site.register(Service, ServiceAdmin)

core/fixtures/services.yaml

+43
Original file line numberDiff line numberDiff line change
@@ -2,257 +2,300 @@
22
pk: 1
33
fields:
44
name: RAPID
5+
slug: RAPID
56
available: true
67
program: 1
78
- model: core.service
89
pk: 2
910
fields:
1011
name: CONFIRM
12+
slug: CONFIRM
1113
available: false
1214
program: 1
1315
- model: core.service
1416
pk: 3
1517
fields:
1618
name: NEED RESULTS
19+
slug: NEED RESULTS
1720
available: true
1821
program: 1
1922
- model: core.service
2023
pk: 4
2124
fields:
2225
name: C-CHANGE
26+
slug: C-CHANGE
2327
available: true
2428
program: 1
2529
- model: core.service
2630
pk: 5
2731
fields:
2832
name: SNS
33+
slug: SNS
2934
available: false
3035
program: 1
3136
- model: core.service
3237
pk: 6
3338
fields:
3439
name: BENEFITS
40+
slug: BENEFITS
3541
available: true
3642
program: 2
3743
- model: core.service
3844
pk: 7
3945
fields:
4046
name: MENTAL HEALTH
47+
slug: MENTAL HEALTH
4148
available: true
4249
program: 2
4350
- model: core.service
4451
pk: 8
4552
fields:
4653
name: HOUSING
54+
slug: HOUSING
4755
available: true
4856
program: 2
4957
- model: core.service
5058
pk: 9
5159
fields:
5260
name: D&A
61+
slug: D&A
5362
available: true
5463
program: 2
5564
- model: core.service
5665
pk: 10
5766
fields:
5867
name: APPT
68+
slug: APPT
5969
available: true
6070
program: 2
6171
- model: core.service
6272
pk: 11
6373
fields:
6474
name: WOUND CARE
75+
slug: WOUND CARE
6576
available: true
6677
program: 3
6778
- model: core.service
6879
pk: 12
6980
fields:
7081
name: MEDICAL FORM
82+
slug: MEDICAL FORM
7183
available: true
7284
program: 3
7385
- model: core.service
7486
pk: 13
7587
fields:
7688
name: PHYSICAL
89+
slug: PHYSICAL
7790
available: false
7891
program: 3
7992
- model: core.service
8093
pk: 14
8194
fields:
8295
name: FOLLOW UP
96+
slug: FOLLOW-UP
8397
available: true
8498
program: 3
8599
- model: core.service
86100
pk: 15
87101
fields:
88102
name: OTHER:ENTER IN NOTES
103+
slug: OTHER-ENTER-IN-NOTES
89104
available: false
90105
program: 3
91106
- model: core.service
92107
pk: 16
93108
fields:
94109
name: BIRTH CERT
110+
slug: BIRTH-CERT
95111
available: true
96112
program: 4
97113
- model: core.service
98114
pk: 17
99115
fields:
100116
name: CONSULT
117+
slug: CONSULT
101118
available: true
102119
program: 4
103120
- model: core.service
104121
pk: 18
105122
fields:
106123
name: APPT
124+
slug: APPT-2
107125
available: false
108126
program: 4
109127
- model: core.service
110128
pk: 19
111129
fields:
112130
name: PUBLIC DEF
131+
slug: PUBLIC-DEF
113132
available: true
114133
program: 4
115134
- model: core.service
116135
pk: 20
117136
fields:
118137
name: DETOX
138+
slug: DETOX
119139
available: false
120140
program: 5
121141
- model: core.service
122142
pk: 21
123143
fields:
124144
name: INPATIENT
145+
slug: INPATIENT
125146
available: true
126147
program: 5
127148
- model: core.service
128149
pk: 22
129150
fields:
130151
name: IOP
152+
slug: IOP
131153
available: false
132154
program: 5
133155
- model: core.service
134156
pk: 23
135157
fields:
136158
name: SUBOXONE
159+
slug: SUBOXONE
137160
available: true
138161
program: 5
139162
- model: core.service
140163
pk: 24
141164
fields:
142165
name: METHADONE
166+
slug: METHADONE
143167
available: true
144168
program: 5
145169
- model: core.service
146170
pk: 25
147171
fields:
148172
name: BENEFITS
173+
slug: BENEFITS-2
149174
available: false
150175
program: 6
151176
- model: core.service
152177
pk: 26
153178
fields:
154179
name: FOLLOW UP
180+
slug: FOLLOW-UP-2
155181
available: true
156182
program: 6
157183
- model: core.service
158184
pk: 27
159185
fields:
160186
name: APPT
187+
slug: APPT-3
161188
available: true
162189
program: 6
163190
- model: core.service
164191
pk: 28
165192
fields:
166193
name: FOUND THEM!
194+
slug: FOUND-THEM-2
167195
available: true
168196
program: 6
169197
- model: core.service
170198
pk: 29
171199
fields:
172200
name: 'OTHER: ENTER IN NOTES'
201+
slug: 'OTHER-ENTER-IN-NOTES-2'
173202
available: true
174203
program: 6
175204
- model: core.service
176205
pk: 30
177206
fields:
178207
name: 'APPT: DR BARCLAY'
208+
slug: 'APPT-DR-BARCLAY'
179209
available: true
180210
program: 7
181211
- model: core.service
182212
pk: 31
183213
fields:
184214
name: 'APPT: DR SERGE'
215+
slug: 'APPT-DR-SERGE'
185216
available: false
186217
program: 7
187218
- model: core.service
188219
pk: 32
189220
fields:
190221
name: 'APPT: MOBILE MAT'
222+
slug: 'APPT-MOBILE-MAT'
191223
available: false
192224
program: 7
193225
- model: core.service
194226
pk: 33
195227
fields:
196228
name: PATIENT/ NO APPT
229+
slug: PATIENT-NO-APPT
197230
available: true
198231
program: 7
199232
- model: core.service
200233
pk: 34
201234
fields:
202235
name: MEDICATION
236+
slug: MEDICATION
203237
available: false
204238
program: 7
205239
- model: core.service
206240
pk: 35
207241
fields:
208242
name: APPT DR. BAMFORD
243+
slug: APPT-DR-BAMFORD
209244
available: false
210245
program: 8
211246
- model: core.service
212247
pk: 36
213248
fields:
214249
name: LABWORK
250+
slug: LABWORK
215251
available: true
216252
program: 8
217253
- model: core.service
218254
pk: 37
219255
fields:
220256
name: FIBROSCAN
257+
slug: FIBROSCAN
221258
available: true
222259
program: 8
223260
- model: core.service
224261
pk: 38
225262
fields:
226263
name: MCM
264+
slug: MCM
227265
available: true
228266
program: 8
229267
- model: core.service
230268
pk: 39
231269
fields:
232270
name: FOUND THEM!
271+
slug: FOUND-THEM
233272
available: true
234273
program: 8
235274
- model: core.service
236275
pk: 40
237276
fields:
238277
name: DR. MORALES
278+
slug: DR-MORALES
239279
available: true
240280
program: 9
241281
- model: core.service
242282
pk: 41
243283
fields:
244284
name: NEW PATIENT
285+
slug: NEW-PATIENT
245286
available: true
246287
program: 9
247288
- model: core.service
248289
pk: 42
249290
fields:
250291
name: SICK VISIT
292+
slug: SICK-VISIT
251293
available: false
252294
program: 9
253295
- model: core.service
254296
pk: 43
255297
fields:
256298
name: OTHER
299+
slug: OTHER-2
257300
available: false
258301
program: 9

core/management/commands/seed.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import random, pytz, datetime, json
1+
import random, pytz, datetime, json, re
22

33
from django.utils import timezone
44
from django.db import IntegrityError
@@ -166,7 +166,7 @@ def create_participants():
166166
profile = fake.profile()
167167
gender = random.choice(gender_list)
168168
race = random.choice(race_list)
169-
169+
170170
participant = Participant(
171171
first_name=fake.first_name(),
172172
last_name=fake.last_name(),
@@ -240,6 +240,7 @@ def create_programs(output=True):
240240
for program, services in DEFAULT_PROGRAMS.items():
241241
p = Program()
242242
p.name = program
243+
243244
if p.name in HAS_QUEUE:
244245
p.has_queue = True
245246
else:
@@ -253,13 +254,15 @@ def create_programs(output=True):
253254
for service in services:
254255
s = Service()
255256
s.name = service
257+
s.slug = f"{p.name}-{s.name}"
258+
256259
s.available = random_bool()
257260
s.program = p
258261
s.full_clean()
259262
s.save()
260263

261264
if output:
262-
print("Created {}: '{}'".format(p.name, s.name))
265+
print("Created {}: '{}'".format(p.name, s.slug))
263266

264267
""" Create forms for the program """
265268
for _ in range(DEFAULT_NUMBER_FORMS):

core/management/commands/users_and_groups.py

-9
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@
2626
"add_medication",
2727
"change_medication",
2828
"view_medication",
29-
"add_appointment",
30-
"change_appointment",
31-
"view_appointment",
3229
"add_casemanagement",
3330
"change_casemanagement",
3431
"view_casemanagement",
@@ -65,9 +62,6 @@
6562
"view_service",
6663
"add_visit",
6764
"change_visit",
68-
"add_appointment",
69-
"change_appointment",
70-
"view_appointment",
7165
"add_frontdeskevent",
7266
"change_frontdeskevent",
7367
"view_frontdeskevent",
@@ -87,9 +81,6 @@
8781
"view_service",
8882
"change_visit",
8983
"view_visit",
90-
"add_appointment",
91-
"change_appointment",
92-
"view_appointment",
9384
"add_frontdeskevent",
9485
"change_frontdeskevent",
9586
"view_frontdeskevent",

0 commit comments

Comments
 (0)