@@ -128,9 +128,22 @@ def index(count, page):
128
128
posts = posts , meta = meta )
129
129
for post in posts :
130
130
blogging_engine .process_post (post , render = render )
131
+ for post in posts :
132
+ try :
133
+ if post ["public" ] is 0 and int (post ["user_id" ]) != current_user .id :
134
+ post ["display" ] = False
135
+ else :
136
+ post ["display" ] = True
137
+ except AttributeError :
138
+ pass
131
139
index_posts_processed .send (blogging_engine .app , engine = blogging_engine ,
132
140
posts = posts , meta = meta )
133
- tags = storage .get_tags (auth = meta ["is_user_blogger" ])
141
+ uid = None
142
+ try :
143
+ uid = current_user .id
144
+ except AttributeError :
145
+ uid = None
146
+ tags = storage .get_tags (auth = meta ["is_user_blogger" ], uid = uid )
134
147
return render_template ("blogging/index.html" , posts = posts , meta = meta ,
135
148
config = config , tags = tags )
136
149
@@ -155,7 +168,12 @@ def about(count, page):
155
168
blogging_engine .process_post (post , render = render )
156
169
index_posts_processed .send (blogging_engine .app , engine = blogging_engine ,
157
170
posts = posts , meta = meta )
158
- tags = storage .get_tags (auth = meta ["is_user_blogger" ])
171
+ uid = None
172
+ try :
173
+ uid = current_user .id
174
+ except AttributeError :
175
+ uid = None
176
+ tags = storage .get_tags (auth = meta ["is_user_blogger" ], uid = uid )
159
177
return render_template ("blogging/about.html" , posts = posts , meta = meta ,
160
178
config = config , tags = tags )
161
179
@@ -182,21 +200,29 @@ def archives(count, page):
182
200
blogging_engine .process_post (post , render = render )
183
201
index_posts_processed .send (blogging_engine .app , engine = blogging_engine ,
184
202
posts = posts , meta = meta )
203
+ all_posts = storage .get_posts (count = None , offset = None , include_draft = False ,
204
+ tag = None , user_id = None , recent = True )
185
205
max_posts = meta ["max_posts" ]
186
- for post in posts :
206
+ for post in all_posts :
187
207
if meta ["is_user_blogger" ] is False and post ["public" ] is 0 :
188
208
max_posts -= 1
209
+ meta ["max_posts" ] = max_posts
210
+ uid = None
211
+ try :
212
+ uid = current_user .id
213
+ except AttributeError :
214
+ uid = None
215
+ for post in posts :
189
216
year = post ["post_date" ].strftime ("%Y" )
190
217
if year not in year_dict :
191
218
year_dict [year ] = []
192
219
year_dict [year ].append (post )
193
- meta ["max_posts" ] = max_posts
194
220
for year in year_dict .keys ():
195
221
tmp_dict = {"year" :year , "posts" :year_dict [year ]}
196
222
years .append (tmp_dict )
197
223
if len (years ) == 0 :
198
224
years = [{"year" :"" , "posts" :[]}]
199
- tags = storage .get_tags (auth = meta ["is_user_blogger" ])
225
+ tags = storage .get_tags (auth = meta ["is_user_blogger" ], uid = uid )
200
226
201
227
if meta ["pagination" ]["prev_page" ] is not None :
202
228
string = meta ["pagination" ]["prev_page" ].replace ("blog" ,"blog/archives" )
@@ -222,35 +248,44 @@ def page_by_id(post_id, slug):
222
248
meta ["slug" ] = slug
223
249
page_by_id_fetched .send (blogging_engine .app , engine = blogging_engine ,
224
250
post = post , meta = meta )
251
+ uid = None
252
+ try :
253
+ uid = current_user .id
254
+ except AttributeError :
255
+ uid = None
225
256
if post is not None :
226
- blogging_engine .process_post (post , render = render )
227
- page_by_id_processed .send (blogging_engine .app , engine = blogging_engine ,
228
- post = post , meta = meta )
229
- tags = storage .get_tags (auth = meta ["is_user_blogger" ])
230
- prev_post_id = int (post_id ) - 1
231
- next_post_id = int (post_id ) + 1
232
- prev_post = None
233
- next_post = None
234
- while prev_post_id >= 1 :
235
- prev_post = storage .get_post_by_id (prev_post_id )
236
- if prev_post is not None :
237
- blogging_engine .process_post (prev_post , render = render )
238
- if meta ["is_user_blogger" ] or prev_post ["public" ]:
239
- break
240
- else :
241
- prev_post = None
242
- prev_post_id -= 1
243
- while next_post_id <= max_posts :
244
- next_post = storage .get_post_by_id (next_post_id )
245
- if next_post is not None :
246
- blogging_engine .process_post (next_post , render = render )
247
- if meta ["is_user_blogger" ] or next_post ["public" ]:
248
- break
249
- else :
250
- next_post = None
251
- next_post_id += 1
252
- return render_template ("blogging/page.html" , post = post , config = config ,
257
+ if post ["public" ] is not 0 or int (post ["user_id" ])== uid :
258
+ blogging_engine .process_post (post , render = render )
259
+ page_by_id_processed .send (blogging_engine .app , engine = blogging_engine ,
260
+ post = post , meta = meta )
261
+ tags = storage .get_tags (auth = meta ["is_user_blogger" ], uid = uid )
262
+ prev_post_id = int (post_id ) - 1
263
+ next_post_id = int (post_id ) + 1
264
+ prev_post = None
265
+ next_post = None
266
+ while prev_post_id >= 1 :
267
+ prev_post = storage .get_post_by_id (prev_post_id )
268
+ if prev_post is not None :
269
+ blogging_engine .process_post (prev_post , render = render )
270
+ if uid == int (prev_post ["user_id" ]) or prev_post ["public" ]:
271
+ break
272
+ else :
273
+ prev_post = None
274
+ prev_post_id -= 1
275
+ while next_post_id <= max_posts :
276
+ next_post = storage .get_post_by_id (next_post_id )
277
+ if next_post is not None :
278
+ blogging_engine .process_post (next_post , render = render )
279
+ if uid == int (next_post ["user_id" ]) or next_post ["public" ]:
280
+ break
281
+ else :
282
+ next_post = None
283
+ next_post_id += 1
284
+ return render_template ("blogging/page.html" , post = post , config = config ,
253
285
meta = meta , tags = tags , prev_post = prev_post ,next_post = next_post )
286
+ else :
287
+ flash ("You do not have the rights to view this post!" , "warning" )
288
+ return redirect (url_for ("blogging.archives" ))
254
289
else :
255
290
flash ("The page you are trying to access is not valid!" , "warning" )
256
291
return redirect (url_for ("blogging.index" ))
@@ -278,7 +313,17 @@ def posts_by_tag(tag, count, page):
278
313
posts_by_tag_processed .send (blogging_engine .app ,
279
314
engine = blogging_engine ,
280
315
posts = posts , meta = meta )
281
- tags = storage .get_tags (auth = meta ["is_user_blogger" ])
316
+ uid = None
317
+ try :
318
+ uid = current_user .id
319
+ except AttributeError :
320
+ uid = None
321
+ tags = storage .get_tags (auth = meta ["is_user_blogger" ], uid = uid )
322
+ for post in posts :
323
+ if post ["public" ] is 0 and int (post ["user_id" ]) != uid :
324
+ post ["display" ] = False
325
+ else :
326
+ post ["display" ] = True
282
327
return render_template ("blogging/index.html" , posts = posts , meta = meta ,
283
328
config = config , tags = tags )
284
329
else :
@@ -309,7 +354,7 @@ def posts_by_author(user_id, count, page):
309
354
posts_by_author_processed .send (blogging_engine .app ,
310
355
engine = blogging_engine , posts = posts ,
311
356
meta = meta )
312
- tags = storage .get_tags (auth = meta ["is_user_blogger" ])
357
+ tags = storage .get_tags (auth = meta ["is_user_blogger" ], uid = user_id )
313
358
return render_template ("blogging/index.html" , posts = posts , meta = meta ,
314
359
config = config , tags = tags )
315
360
else :
0 commit comments