add: communities is_forum
This commit is contained in:
parent
9a128a3f0c
commit
1f545a0b21
9 changed files with 52 additions and 4 deletions
|
@ -58,6 +58,9 @@
|
||||||
(text "{% if community.is_forge -%}")
|
(text "{% if community.is_forge -%}")
|
||||||
(icon (text "anvil"))
|
(icon (text "anvil"))
|
||||||
(text "{%- endif %}")
|
(text "{%- endif %}")
|
||||||
|
(text "{% if community.is_forum -%}")
|
||||||
|
(icon (text "square-library"))
|
||||||
|
(text "{%- endif %}")
|
||||||
(h3
|
(h3
|
||||||
("class" "name lg:long")
|
("class" "name lg:long")
|
||||||
(text "{{ community.context.display_name }}")))
|
(text "{{ community.context.display_name }}")))
|
||||||
|
@ -2532,7 +2535,7 @@
|
||||||
(icon (text "reply")))
|
(icon (text "reply")))
|
||||||
(a
|
(a
|
||||||
("class" "button small lowered")
|
("class" "button small lowered")
|
||||||
("href" "/mail/compose?receivers={% for receiver in letter.receivers %},id%3A{{ receiver }}{% endfor %}&subject=Re%3A%20{{ letter.subject }}&replying_to={{ letter.id }}")
|
("href" "/mail/compose?receivers={{ owner.username }}{% for receiver in letter.receivers %},id%3A{{ receiver }}{% endfor %}&subject=Re%3A%20{{ letter.subject }}&replying_to={{ letter.id }}")
|
||||||
("title" "Reply all")
|
("title" "Reply all")
|
||||||
(icon (text "reply-all")))
|
(icon (text "reply-all")))
|
||||||
(text "{% if user and letter.owner == user.id -%}")
|
(text "{% if user and letter.owner == user.id -%}")
|
||||||
|
|
|
@ -56,7 +56,10 @@
|
||||||
("placeholder" "content")
|
("placeholder" "content")
|
||||||
("required" "")
|
("required" "")
|
||||||
("name" "content")
|
("name" "content")
|
||||||
("id" "content")))
|
("id" "content")
|
||||||
|
(text "
|
||||||
|
|
||||||
|
{{ user.settings.mail_signature }}")))
|
||||||
|
|
||||||
(button
|
(button
|
||||||
(icon (text "send-horizontal"))
|
(icon (text "send-horizontal"))
|
||||||
|
|
|
@ -1947,6 +1947,17 @@
|
||||||
settings.anonymous_avatar_url,
|
settings.anonymous_avatar_url,
|
||||||
\"input\",
|
\"input\",
|
||||||
],
|
],
|
||||||
|
[[], \"Signatures\", \"title\"],
|
||||||
|
[
|
||||||
|
[\"mail_signature\", \"Mail signature\"],
|
||||||
|
settings.mail_signature,
|
||||||
|
\"textarea\",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[\"forum_signature\", \"Forum signature (coming soon)\"],
|
||||||
|
settings.forum_signature,
|
||||||
|
\"textarea\",
|
||||||
|
],
|
||||||
[[], \"Misc\", \"title\"],
|
[[], \"Misc\", \"title\"],
|
||||||
[
|
[
|
||||||
[\"hide_dislikes\", \"Hide post dislikes\"],
|
[\"hide_dislikes\", \"Hide post dislikes\"],
|
||||||
|
|
|
@ -55,6 +55,10 @@ pub async fn create_request(
|
||||||
c.is_forge = true;
|
c.is_forge = true;
|
||||||
c.context.enable_titles = true;
|
c.context.enable_titles = true;
|
||||||
c.context.require_titles = true;
|
c.context.require_titles = true;
|
||||||
|
} else if req.forum {
|
||||||
|
c.is_forum = true;
|
||||||
|
c.context.enable_titles = true;
|
||||||
|
c.context.require_titles = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
match data.create_community(c).await {
|
match data.create_community(c).await {
|
||||||
|
|
|
@ -749,6 +749,8 @@ pub struct CreateCommunity {
|
||||||
pub title: String,
|
pub title: String,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub forge: bool,
|
pub forge: bool,
|
||||||
|
#[serde(default)]
|
||||||
|
pub forum: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
|
|
|
@ -36,6 +36,7 @@ impl DataManager {
|
||||||
member_count: get!(x->10(i32)) as usize,
|
member_count: get!(x->10(i32)) as usize,
|
||||||
is_forge: get!(x->11(i32)) as i8 == 1,
|
is_forge: get!(x->11(i32)) as i8 == 1,
|
||||||
post_count: get!(x->12(i32)) as usize,
|
post_count: get!(x->12(i32)) as usize,
|
||||||
|
is_forum: get!(x->13(i32)) as i8 == 1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,7 +282,7 @@ impl DataManager {
|
||||||
|
|
||||||
let res = execute!(
|
let res = execute!(
|
||||||
&conn,
|
&conn,
|
||||||
"INSERT INTO communities VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13)",
|
"INSERT INTO communities VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14)",
|
||||||
params![
|
params![
|
||||||
&(data.id as i64),
|
&(data.id as i64),
|
||||||
&(data.created as i64),
|
&(data.created as i64),
|
||||||
|
@ -296,6 +297,7 @@ impl DataManager {
|
||||||
&1_i32,
|
&1_i32,
|
||||||
&{ if data.is_forge { 1 } else { 0 } },
|
&{ if data.is_forge { 1 } else { 0 } },
|
||||||
&0_i32,
|
&0_i32,
|
||||||
|
&{ if data.is_forum { 1 } else { 0 } },
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -12,4 +12,8 @@ ADD COLUMN IF NOT EXISTS storage_capacity TEXT DEFAULT '"Tier1"';
|
||||||
|
|
||||||
-- letters replying_to
|
-- letters replying_to
|
||||||
ALTER TABLE letters
|
ALTER TABLE letters
|
||||||
ADD COLUMN IF NOT EXISTS replying_to TEXT DEFAULT 0;
|
ADD COLUMN IF NOT EXISTS replying_to BIGINT DEFAULT 0;
|
||||||
|
|
||||||
|
-- communities is_forum
|
||||||
|
ALTER TABLE communities
|
||||||
|
ADD COLUMN IF NOT EXISTS is_forum INT DEFAULT 0;
|
||||||
|
|
|
@ -344,6 +344,12 @@ pub struct UserSettings {
|
||||||
/// Will also revoke access to their respective pages.
|
/// Will also revoke access to their respective pages.
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub hide_social_follows: bool,
|
pub hide_social_follows: bool,
|
||||||
|
/// The signature automatically attached to new mail letters.
|
||||||
|
#[serde(default)]
|
||||||
|
pub mail_signature: String,
|
||||||
|
/// The signature automatically attached to new forum posts.
|
||||||
|
#[serde(default)]
|
||||||
|
pub forum_signature: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug, Serialize, Deserialize, Default)]
|
#[derive(Clone, Debug, Serialize, Deserialize, Default)]
|
||||||
|
|
|
@ -26,6 +26,7 @@ pub struct Community {
|
||||||
pub member_count: usize,
|
pub member_count: usize,
|
||||||
pub is_forge: bool,
|
pub is_forge: bool,
|
||||||
pub post_count: usize,
|
pub post_count: usize,
|
||||||
|
pub is_forum: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Community {
|
impl Community {
|
||||||
|
@ -48,6 +49,7 @@ impl Community {
|
||||||
member_count: 0,
|
member_count: 0,
|
||||||
is_forge: false,
|
is_forge: false,
|
||||||
post_count: 0,
|
post_count: 0,
|
||||||
|
is_forum: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,6 +70,7 @@ impl Community {
|
||||||
member_count: 0,
|
member_count: 0,
|
||||||
is_forge: false,
|
is_forge: false,
|
||||||
post_count: 0,
|
post_count: 0,
|
||||||
|
is_forum: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -515,3 +518,13 @@ impl PollVote {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||||
|
pub struct ForumTopic {
|
||||||
|
pub id: usize,
|
||||||
|
pub created: usize,
|
||||||
|
pub owner: usize,
|
||||||
|
pub community: usize,
|
||||||
|
pub title: String,
|
||||||
|
pub description: String,
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue