Merge branch 'ajax_post' of csgitlab.ucd.ie:19206226/q-a_platform into ajax_post

ajax_post
bug_creator 3 years ago
commit 63adb378db

@ -462,6 +462,7 @@ class Like(db.Model):
liked_post = db.relationship('Post', back_populates='liker', lazy='joined')
class Collect(db.Model):
__tablename__ = 'collect'
collecter_id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key=True)

File diff suppressed because it is too large Load Diff

@ -7,25 +7,15 @@
{% block head %}
{{ super() }}
<style>
body {
padding-top: 60px;
background-color: #f5f5f5;
}
</style>
{{ super() }}
<style>
body {
padding-top: 60px;
background-color: #f5f5f5;
}
</style>
<meta name="csrf-token" content="{{ csrf_token() }}">
{# <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>#}
{# <script>#}
{#var csrftoken = $('meta[name=csrf-token]').attr('content');#}
{#$.ajaxSetup({#}
{# beforeSend: function(xhr, settings) {#}
{# if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {#}
{# xhr.setRequestHeader('X-CSRFToken', csrftoken)#}
{# }#}
{# }#}
{#})#}
{# </script>#}
<script type="application/javascript" src="{{ url_for('static',filename='js/jquery-3.6.0.js') }}"></script>
{% endblock %}
@ -58,22 +48,27 @@
<ul class="nav navbar-nav navbar-right">
{% if current_user.is_authenticated %}
{# 通知#}
{# 通知#}
<li>
<a href="{{ url_for('main.notification') }}" >
<a href="{{ url_for('main.notification') }}">
<svg viewBox="0 0 1024 1024" width="20" height="20">
<defs><style type="text/css"></style></defs>
<path d="M892.343 738.743c7.314 0 21.943 0 29.257 7.314-29.257-21.943-51.2-58.514-51.2-95.086V424.23c0-168.229-117.029-307.2-285.257-343.772v-7.314C585.143 36.57 548.57 0 512 0s-80.457 36.571-80.457 73.143v7.314C270.629 117.03 153.6 256 153.6 424.23V650.97c0 36.572-21.943 73.143-51.2 95.086 7.314-7.314 14.629-7.314 29.257-7.314-29.257 0-51.2 21.943-51.2 51.2s21.943 51.2 51.2 51.2h768c29.257 0 51.2-21.943 51.2-51.2-7.314-21.943-29.257-43.886-58.514-51.2zM512 1024c73.143 0 131.657-58.514 131.657-131.657H380.343C380.343 965.486 438.857 1024 512 1024z" fill="#3BA9F6" p-id="1699">
<defs>
<style type="text/css"></style>
</defs>
<path d="M892.343 738.743c7.314 0 21.943 0 29.257 7.314-29.257-21.943-51.2-58.514-51.2-95.086V424.23c0-168.229-117.029-307.2-285.257-343.772v-7.314C585.143 36.57 548.57 0 512 0s-80.457 36.571-80.457 73.143v7.314C270.629 117.03 153.6 256 153.6 424.23V650.97c0 36.572-21.943 73.143-51.2 95.086 7.314-7.314 14.629-7.314 29.257-7.314-29.257 0-51.2 21.943-51.2 51.2s21.943 51.2 51.2 51.2h768c29.257 0 51.2-21.943 51.2-51.2-7.314-21.943-29.257-43.886-58.514-51.2zM512 1024c73.143 0 131.657-58.514 131.657-131.657H380.343C380.343 965.486 438.857 1024 512 1024z"
fill="#3BA9F6" p-id="1699">
</path>
</svg>
<span class="badge" style="margin-bottom: 10px"></span>
</a>
</li>
{# 下拉菜单#}
{# 下拉菜单#}
<li class="dropdown">
<a href="{{ url_for('main.notification') }}" class="dropdown-toggle" data-toggle="dropdown">Account<b class="caret"></b></a>
<a href="{{ url_for('main.notification') }}" class="dropdown-toggle"
data-toggle="dropdown">Account<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="{{ url_for('main.user', username=current_user.username) }}">MY Profile</a></li>
<li><a href="{{ url_for('main.user', username=current_user.username) }}">MY
Profile</a></li>
<li><a href="{{ url_for('auth.change_password') }}">MY Account</a></li>
<li><a href="{{ url_for('auth.logout') }}">Log Out</a></li>
</ul>
@ -83,33 +78,43 @@
<li><a href="{{ url_for('auth.login') }}">Log In</a></li>
{% endif %}
</ul>
</div>
</ul>
</div>
</nav>
</div>
</nav>
{% endblock %}
{% block content %}
<div class="container">
<!-- flash消息显示区-->
{% for message in get_flashed_messages() %}
<div class="alert alert-warning">
<button type="button" class="close" data-dismiss="alert">&times;</button>
{{ message }}
</div>
{% endfor %}
{% for message in get_flashed_messages() %}
<div class="alert alert-warning">
<button type="button" class="close" data-dismiss="alert">&times;</button>
{{ message }}
</div>
{% endfor %}
{% block page_content %}
<!-- 其他模版文件中的东西-->
<!-- 其他模版文件中的东西-->
{% endblock %}
</div>
{% endblock %}
{% block scripts %}
{{ super() }}
{{ moment.include_moment() }}
{% endblock %}
{% block scripts %}
<script>
var csrftoken = $("head > meta:nth-child(5)").attr('content');
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {
xhr.setRequestHeader('X-CSRFToken', csrftoken)
}
}
})
</script>
{{ super() }}
{{ moment.include_moment() }}
{% endblock %}

@ -10,7 +10,7 @@
{% endif %}
</div>
<div class="panel-body">
<p><strong>Item Describe:</strong>{{ collect.collected_transaction.item_describe }}</p>
<p><strong>Item Describe: </strong>{{ collect.collected_transaction.item_describe }}</p>
</div>
<!-- List group -->
<ul class="list-group">

@ -40,7 +40,6 @@ def check_bypass_status():
bypass_status = "fail"
geetest_dict[GEETEST_BYPASS_STATUS_KEY] = bypass_status
print("bypass状态已经获取并存入redis当前状态为-{}".format(bypass_status))
time.sleep(CYCLE_TIME)
check_bypass_status()

@ -0,0 +1,3 @@
kubectl apply -f web-methodology-deployment.yaml
kubectl apply -f web-methodology-services.yaml

@ -0,0 +1,22 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-methodology-deployment
labels:
web: methodology
spec:
replicas: 2
selector:
matchLabels:
web: methodology
template:
metadata:
labels:
web: methodology
spec:
containers:
- name: web-methodology
image: echo0821/web-methodology
ports:
- containerPort: 5000

@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: web-methodology-services
spec:
selector:
web: methodology
ports:
- protocol: TCP
port: 80
targetPort: 5000

@ -0,0 +1,36 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-methodology-deployment
labels:
web: methodology
spec:
replicas: 2
selector:
matchLabels:
web: methodology
template:
metadata:
labels:
web: methodology
spec:
containers:
- name: web-methodology
image: echo0821/web-methodology
ports:
- containerPort: 5000
---
apiVersion: v1
kind: Service
metadata:
name: web-methodology-services
spec:
selector:
web: methodology
ports:
- protocol: TCP
port: 80
targetPort: 5000

@ -16,4 +16,4 @@ print(Role.query.all())
print(Students.query.all())
print(Post.query.all())
print(Comment.query.all())
print(Activity.query.all())
print(Activity.query.all())

@ -0,0 +1,24 @@
import unittest
from app import models
class TestModels(unittest.TestCase):
def testExist(self):
self.assertIsNotNone(models.db)
self.assertIsNotNone(models.User)
self.assertIsNotNone(models.Role)
self.assertIsNotNone(models.Permission)
self.assertIsNotNone(models.Post)
self.assertIsNotNone(models.AnonymousUser)
self.assertIsNotNone(models.Collect)
self.assertIsNotNone(models.Comment)
self.assertIsNotNone(models.Follow)
self.assertIsNotNone(models.Like)
self.assertIsNotNone(models.Activity)
self.assertIsNotNone(models.Notification)
self.assertIsNotNone(models.Want)
if __name__ == '__main__':
unittest.main()

@ -0,0 +1,22 @@
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
def test_isupper(self):
self.assertTrue('FOO'.isupper())
self.assertFalse('Foo'.isupper())
def test_split(self):
s = 'hello world'
self.assertEqual(s.split(), ['hello', 'world'])
# check that s.split fails when the separator is not a string
with self.assertRaises(TypeError):
s.split(2)
if __name__ == '__main__':
unittest.main()
Loading…
Cancel
Save