forked from mrlan/EnglishPal
				
			Merge pull request 'Bug564-JiangChao' (#152) from Bug564-JiangChao into Alpha-snapshot20240618
Reviewed-on: mrlan/EnglishPal#152Bug576-XiaBaizhi
						commit
						d502b3f474
					
				|  | @ -79,18 +79,18 @@ def article(): | ||||||
|         "username": session.get("username"), |         "username": session.get("username"), | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 |     if request.method == "POST": | ||||||
|     if request.method == "GET": |  | ||||||
|         try: |  | ||||||
|             delete_id = int(request.args.get("delete_id", 0)) |  | ||||||
|         except: |  | ||||||
|             return "Delete article ID must be integer!" |  | ||||||
|         if delete_id:  # delete article |  | ||||||
|             delete_article_by_id(delete_id) |  | ||||||
|             _update_context() |  | ||||||
| 
 |  | ||||||
|     elif request.method == "POST": |  | ||||||
|         data = request.form |         data = request.form | ||||||
|  | 
 | ||||||
|  |         if "delete_id" in data: | ||||||
|  |             try: | ||||||
|  |                 delete_id = int(data["delete_id"])  # 转成int型 | ||||||
|  |                 delete_article_by_id(delete_id)  # 根据id删除article | ||||||
|  |                 flash(f'Article ID {delete_id} deleted successfully.')  # 刷新页首提示语 | ||||||
|  |                 _update_context() | ||||||
|  |             except ValueError: | ||||||
|  |                 flash('Invalid article ID for deletion.')  # 刷新页首提示语 | ||||||
|  | 
 | ||||||
|         content = data.get("content", "") |         content = data.get("content", "") | ||||||
|         source = data.get("source", "") |         source = data.get("source", "") | ||||||
|         question = data.get("question", "") |         question = data.get("question", "") | ||||||
|  | @ -99,9 +99,9 @@ def article(): | ||||||
|             if level not in ['1', '2', '3', '4']: |             if level not in ['1', '2', '3', '4']: | ||||||
|                 return "Level must be between 1 and 4." |                 return "Level must be between 1 and 4." | ||||||
|             add_article(content, source, level, question) |             add_article(content, source, level, question) | ||||||
|             _update_context() |  | ||||||
|             title = content.split('\n')[0] |             title = content.split('\n')[0] | ||||||
|             flash(f'Article added. Title: {title}') |             flash(f'Article added. Title: {title}') | ||||||
|  |             _update_context()  # 这行应在flash之后 否则会发生新建的文章即点即删 | ||||||
| 
 | 
 | ||||||
|     return render_template("admin_manage_article.html", **context) |     return render_template("admin_manage_article.html", **context) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -7,6 +7,11 @@ | ||||||
|         content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0, user-scalable=yes" /> |         content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0, user-scalable=yes" /> | ||||||
|     <meta name="format-detection" content="telephone=no" /> |     <meta name="format-detection" content="telephone=no" /> | ||||||
|     <link href="../static/css/bootstrap.css" rel="stylesheet"> |     <link href="../static/css/bootstrap.css" rel="stylesheet"> | ||||||
|  |     <script> | ||||||
|  |         function confirmDeletion(articleId, articleTitle) { | ||||||
|  |             return confirm(`确认删除文章 "${articleTitle}" (ID: ${articleId}) 吗?`); | ||||||
|  |         } | ||||||
|  |     </script> | ||||||
| </head> | </head> | ||||||
| 
 | 
 | ||||||
| <body class="container" style="width: 800px; margin: auto; margin-top:24px;"> | <body class="container" style="width: 800px; margin: auto; margin-top:24px;"> | ||||||
|  | @ -66,9 +71,10 @@ | ||||||
|         <div class="list-group"> |         <div class="list-group"> | ||||||
|             {% for text in text_list %} |             {% for text in text_list %} | ||||||
|             <div class="list-group-item list-group-item-action" aria-current="true"> |             <div class="list-group-item list-group-item-action" aria-current="true"> | ||||||
|                 <div> |                 <form action="/admin/article" method="post" style="display: inline;"> | ||||||
|                     <a type="button" href="/admin/article?delete_id={{text.article_id}}" class="btn btn-outline-danger btn-sm">删除</a> |                     <input type="hidden" name="delete_id" value="{{ text.article_id }}"> | ||||||
|                 </div> |                     <button type="submit" class="btn btn-outline-danger btn-sm" onclick="return confirmDeletion('{{ text.article_id }}', '{{ text.title }}')">删除</button> | ||||||
|  |                 </form> | ||||||
|                 <div class="d-flex w-100 justify-content-between"> |                 <div class="d-flex w-100 justify-content-between"> | ||||||
|                     <h5 class="mb-1">{{ text.title }}</h5> |                     <h5 class="mb-1">{{ text.title }}</h5> | ||||||
|                 </div> |                 </div> | ||||||
|  |  | ||||||
|  | @ -66,7 +66,6 @@ | ||||||
| 
 | 
 | ||||||
|     </p> |     </p> | ||||||
|     {% for message in get_flashed_messages() %} |     {% for message in get_flashed_messages() %} | ||||||
| 
 |  | ||||||
|     <div class="alert alert-warning alert-dismissible fade show" role="alert"> |     <div class="alert alert-warning alert-dismissible fade show" role="alert"> | ||||||
| 	{{ message }} | 	{{ message }} | ||||||
| 	<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> | 	<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> | ||||||
|  | @ -89,7 +88,6 @@ | ||||||
|             </div> |             </div> | ||||||
| 
 | 
 | ||||||
|             <p><b id="question">{{ today_article['question'] }}</b></p><br/> |             <p><b id="question">{{ today_article['question'] }}</b></p><br/> | ||||||
| 
 |  | ||||||
|                 <script type="text/javascript"> |                 <script type="text/javascript"> | ||||||
|                     function toggle_visibility(id) { {# https://css-tricks.com/snippets/javascript/showhide-element/#} |                     function toggle_visibility(id) { {# https://css-tricks.com/snippets/javascript/showhide-element/#} | ||||||
|                         const e = document.getElementById(id); |                         const e = document.getElementById(id); | ||||||
|  | @ -114,7 +112,6 @@ | ||||||
|     <input type="checkbox" id="highlightCheckbox" onclick="toggleHighlighting()" />生词高亮 |     <input type="checkbox" id="highlightCheckbox" onclick="toggleHighlighting()" />生词高亮 | ||||||
|     <input type="checkbox" id="readCheckbox" onclick="onReadClick()" />大声朗读 |     <input type="checkbox" id="readCheckbox" onclick="onReadClick()" />大声朗读 | ||||||
|     <input type="checkbox" id="chooseCheckbox" onclick="onChooseClick()" />划词入库 |     <input type="checkbox" id="chooseCheckbox" onclick="onChooseClick()" />划词入库 | ||||||
| 
 |  | ||||||
|     <div class="range"> |     <div class="range"> | ||||||
|         <div class="field"> |         <div class="field"> | ||||||
|             <div class="sliderValue"> |             <div class="sliderValue"> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue