diff --git a/backend/api/views/training.py b/backend/api/views/training.py
index 3bb6f2da..10b045d6 100644
--- a/backend/api/views/training.py
+++ b/backend/api/views/training.py
@@ -211,6 +211,7 @@ def new_train(role):
# TODO: Remove this so that it is a job in the background
new_train_id = train.id
+ hub_url = ""
if int(role) == Account.MENTOR:
recipients = MentorProfile.objects.only("email", "preferred_language")
elif int(role) == Account.MENTEE:
@@ -219,7 +220,7 @@ def new_train(role):
recipients = PartnerProfile.objects.only("email", "preferred_language")
else:
hub_users = Hub.objects.filter(id=hub_id).only(
- "email", "preferred_language"
+ "email", "preferred_language", "url"
)
partners = PartnerProfile.objects.filter(hub_id=hub_id).only(
"email", "preferred_language"
@@ -227,10 +228,14 @@ def new_train(role):
recipients = []
for hub_user in hub_users:
recipients.append(hub_user)
+ if hub_url == "":
+ hub_url = hub_user.url + "/"
for partner_user in partners:
recipients.append(partner_user)
front_url = request.form["front_url"]
- target_url = front_url + "new_training/" + role + "/" + str(new_train_id)
+ target_url = (
+ front_url + hub_url + "new_training/" + role + "/" + str(new_train_id)
+ )
for recipient in recipients:
res, res_msg = send_email(
diff --git a/frontend/src/app/App.js b/frontend/src/app/App.js
index a70d38e8..1453e567 100644
--- a/frontend/src/app/App.js
+++ b/frontend/src/app/App.js
@@ -116,7 +116,6 @@ function App() {
{role && }
{role && }
- {role == ACCOUNT_TYPE.HUB && }
@@ -356,6 +355,9 @@ function App() {
>
+
+
+
>
);
})}
@@ -567,6 +569,7 @@ function App() {
+ {role == ACCOUNT_TYPE.HUB && }
diff --git a/frontend/src/components/CreateMeetingLink.js b/frontend/src/components/CreateMeetingLink.js
index 024dcf3e..f18744f3 100644
--- a/frontend/src/components/CreateMeetingLink.js
+++ b/frontend/src/components/CreateMeetingLink.js
@@ -21,14 +21,17 @@ function Meeting() {
const copyToClipboard = async () => {
try {
- if (AppID===""){
+ if (AppID === "") {
const response = await getToken();
setTimeout(() => {
- navigator.clipboard.writeText('https://8x8.vc/' + response.appID + '/' + RoomName);
+ navigator.clipboard.writeText(
+ "https://8x8.vc/" + response.appID + "/" + RoomName
+ );
}, 100);
- }
- else{
- navigator.clipboard.writeText('https://8x8.vc/' + AppID + '/' + RoomName);
+ } else {
+ navigator.clipboard.writeText(
+ "https://8x8.vc/" + AppID + "/" + RoomName
+ );
}
message.success(t("meeting.copyMessage"));
} catch (error) {
@@ -172,4 +175,4 @@ function Meeting() {
);
}
-export default Meeting;
\ No newline at end of file
+export default Meeting;
diff --git a/frontend/src/components/GroupMessageChatArea.js b/frontend/src/components/GroupMessageChatArea.js
index 42890860..f510a386 100644
--- a/frontend/src/components/GroupMessageChatArea.js
+++ b/frontend/src/components/GroupMessageChatArea.js
@@ -133,7 +133,7 @@ function GroupMessageChatArea(props) {
) : (
)}
-
+
{messages &&
messages.map((block) => {
diff --git a/frontend/src/components/PrivateRoute.js b/frontend/src/components/PrivateRoute.js
index b77c4399..05844517 100644
--- a/frontend/src/components/PrivateRoute.js
+++ b/frontend/src/components/PrivateRoute.js
@@ -3,6 +3,12 @@ import { Route, Redirect } from "react-router-dom";
import { getRole } from "utils/auth.service";
function PrivateRoute({ children, ...rest }) {
+ var path = rest.path;
+ var login_url = "/login";
+ if (path.indexOf("/new_training") > 0) {
+ login_url = "/" + path.split("/")[1];
+ }
+
return (
diff --git a/frontend/src/components/css/Messages.scss b/frontend/src/components/css/Messages.scss
index 26db222c..3bb47629 100644
--- a/frontend/src/components/css/Messages.scss
+++ b/frontend/src/components/css/Messages.scss
@@ -6,6 +6,7 @@
margin-left: auto;
margin-right: auto;
max-height: 100%;
+ // height: calc(100% - 50px);
}
.messages-sidebar-background {
@@ -16,7 +17,7 @@
.messages-sidebar {
overflow: auto;
width: 100%;
- height: 80%;
+ height: calc(100vh - 113px - 90px);
padding-bottom: 2%;
}
@@ -122,9 +123,10 @@
overflow-y: auto;
flex: 1;
padding: 12px;
- max-height: calc(
- 100vh - #{($nav-header-height + $footer-gap)} - var(--chat-header-height)
- );
+ max-height: calc(100vh - #{($nav-header-height + $footer-gap)} - 90px);
+}
+.group-conversation-content {
+ max-height: calc(100vh - #{($nav-header-height + $footer-gap)});
}
.no-messages {
diff --git a/frontend/src/components/css/Navigation.scss b/frontend/src/components/css/Navigation.scss
index 68c6e669..c322fc6a 100644
--- a/frontend/src/components/css/Navigation.scss
+++ b/frontend/src/components/css/Navigation.scss
@@ -26,7 +26,7 @@
.navigation-footer {
display: flex;
justify-content: end;
- position: absolute;
+ // position: absolute;
bottom: 0;
right: 0;
padding: 5px;
diff --git a/frontend/src/components/css/_app.scss b/frontend/src/components/css/_app.scss
index 5a12cf82..1d32a3bd 100644
--- a/frontend/src/components/css/_app.scss
+++ b/frontend/src/components/css/_app.scss
@@ -18,7 +18,7 @@ $appointments-tab-item-selected-color: #fff7e2;
// Navigation constants
$nav-header-height: 88px;
-$footer-gap: 16px;
+$footer-gap: 25px;
$nav-header-color: #fbecc1;
$nav-menu-item-color: White;
$nav-menu-item-hover-background-color: #fcf6ea;