#[derive(Serialize, Deserialize)]
pub struct EditCommunity {
pub edit_id: i32,
- name: String,
title: String,
description: Option<String>,
category_id: i32,
) -> 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());
}
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
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(),
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')}