Don't allow community name editing. Fixes #964

This commit is contained in:
Dessalines 2020-07-14 14:56:53 -04:00
parent 2c0928efe0
commit cd6f1c56e3
3 changed files with 21 additions and 30 deletions

View file

@ -979,7 +979,6 @@ Mods and admins can remove and lock a community, creators can delete it.
op: "EditCommunity",
data: {
edit_id: i32,
name: String,
title: String,
description: Option<String>,
category_id: i32,

View file

@ -98,7 +98,6 @@ pub struct AddModToCommunityResponse {
#[derive(Serialize, Deserialize)]
pub struct EditCommunity {
pub edit_id: i32,
name: String,
title: String,
description: Option<String>,
category_id: i32,
@ -333,10 +332,6 @@ impl Perform for Oper<EditCommunity> {
) -> Result<CommunityResponse, LemmyError> {
let data: &EditCommunity = &self.data;
if let Err(slurs) = slur_check(&data.name) {
return Err(APIError::err(&slurs_vec_to_str(slurs)).into());
}
if let Err(slurs) = slur_check(&data.title) {
return Err(APIError::err(&slurs_vec_to_str(slurs)).into());
}
@ -352,10 +347,6 @@ impl Perform for Oper<EditCommunity> {
Err(_e) => return Err(APIError::err("not_logged_in").into()),
};
if !is_valid_community_name(&data.name) {
return Err(APIError::err("invalid_community_name").into());
}
let user_id = claims.id;
// Check for a site ban
@ -388,7 +379,7 @@ impl Perform for Oper<EditCommunity> {
let read_community = blocking(pool, move |conn| Community::read(conn, edit_id)).await??;
let community_form = CommunityForm {
name: data.name.to_owned(),
name: read_community.name,
title: data.title.to_owned(),
description: data.description.to_owned(),
category_id: data.category_id.to_owned(),

View file

@ -128,26 +128,27 @@ export class CommunityForm extends Component<
message={i18n.t('block_leaving')}
/>
<form onSubmit={linkEvent(this, this.handleCreateCommunitySubmit)}>
<div class="form-group row">
<label class="col-12 col-form-label" htmlFor="community-name">
{i18n.t('name')}
</label>
<div class="col-12">
<input
type="text"
id="community-name"
class="form-control"
value={this.state.communityForm.name}
onInput={linkEvent(this, this.handleCommunityNameChange)}
required
minLength={3}
maxLength={20}
pattern="[a-z0-9_]+"
title={i18n.t('community_reqs')}
/>
{!this.props.community && (
<div class="form-group row">
<label class="col-12 col-form-label" htmlFor="community-name">
{i18n.t('name')}
</label>
<div class="col-12">
<input
type="text"
id="community-name"
class="form-control"
value={this.state.communityForm.name}
onInput={linkEvent(this, this.handleCommunityNameChange)}
required
minLength={3}
maxLength={20}
pattern="[a-z0-9_]+"
title={i18n.t('community_reqs')}
/>
</div>
</div>
</div>
)}
<div class="form-group row">
<label class="col-12 col-form-label" htmlFor="community-title">
{i18n.t('title')}