Merge branch 'master' of github.com:strapi/strapi into fix/1765

This commit is contained in:
cyril lopez 2018-10-01 14:31:57 +02:00
commit ad4919ff82
15 changed files with 120 additions and 48 deletions

View File

@ -1,18 +1,22 @@
<!-- ⚠️ If you do not respect this template your issue will be closed. -->
<!-- ISSUE TEMPLATE -->
<!-- =============================================================================== -->
<!-- ⚠️ If you are not using the current Strapi release, you will be asked to update. -->
<!-- Please see the wiki for guides on upgrading to the latest release. -->
<!-- =============================================================================== -->
<!-- ⚠️ Make sure to browse the opened and closed issues before submitting your issue. -->
<!-- ⚠️ Before writing your issue make sure you are using:-->
<!-- Node 9.x.x -->
<!-- npm 5.x.x -->
<!-- The latest version of Strapi. -->
<!-- Node 10.x.x -->
<!-- npm 6.x.x -->
**Informations**
- **Node.js version**:
- **npm version**:
- **Strapi version**:
- **Database**:
- **Operating system**:
- **Node.js version**:
- **npm version**:
- **Strapi version**: <!-- Please make sure you are on the latest version -->
- **Database**:
- **Operating system**:
**What is the current behavior?**
@ -28,19 +32,3 @@
**Suggested solutions**
<!-- ⚠️ Make sure to browse the opened and closed issues before submitting your issue. -->
<!-- FEATURE REQUEST TEMPLATE -->
<!-- ⚠️ If you do not respect this template your issue will be closed. -->
**What is the expected behavior?**
<!-- ⚠️ Make sure to browse the opened and closed issues before submitting your issue. -->

View File

@ -5,17 +5,24 @@ about: Create a report to help us improve 🤔.
<!-- ⚠️ If you do not respect this template your issue will be closed. -->
<!-- =============================================================================== -->
<!-- ⚠️ If you are not using the current Strapi release, you will be asked to update. -->
<!-- Please see the wiki for guides on upgrading to the latest release. -->
<!-- =============================================================================== -->
<!-- ⚠️ Make sure to browse the opened and closed issues before submitting your issue. -->
<!-- ⚠️ Before writing your issue make sure you are using:-->
<!-- Node 9.x.x -->
<!-- npm 5.x.x -->
<!-- Node 10.x.x -->
<!-- npm 6.x.x -->
<!-- The latest version of Strapi. -->
**Informations**
- **Node.js version**:
- **npm version**:
- **Strapi version**:
- **Database**:
- **Operating system**:
- **Node.js version**:
- **npm version**:
- **Strapi version**: <!-- Please make sure you are on the latest version -->
- **Database**:
- **Operating system**:
**What is the current behavior?**
@ -31,7 +38,3 @@ about: Create a report to help us improve 🤔.
**Suggested solutions**
<!-- ⚠️ Make sure to browse the opened and closed issues before submitting your issue. -->

View File

@ -5,8 +5,8 @@ about: Suggest an idea for this project 💡!
<!-- ⚠️ If you do not respect this template your issue will be closed. -->
<!-- ⚠️ Make sure to browse the opened and closed issues before submitting your issue. -->
**What is the expected behavior?**
<!-- ⚠️ Make sure to browse the opened and closed issues before submitting your issue. -->

View File

@ -246,6 +246,33 @@ Most of the application's configurations are defined by environment. It means th
> Please refer to the [dynamic configurations section](#dynamic-configurations) to use global environment variable to configure the databases.
#### MLab Example
**Path —** `./config/environments/**/database.json`.
```json
{
"defaultConnection": "default",
"connections": {
"default": {
"connector": "strapi-hook-mongoose",
"settings": {
"client": "mongo",
"host": "ds123456.mlab.com",
"port": 12345,
"database": "mlab_db_name",
"username": "mlab_user_name",
"password": "mlab_pass"
},
"options": {
"authenticationDatabase": "mlab_db_name",
"ssl": false
}
}
}
}
```
> Please note that you must give your MLab database name as the authenticationDatabase and your password can not contain the "@" symbol.

View File

@ -5,8 +5,13 @@ Installation is very easy and only takes a few seconds.
## Requirements
Please make sure your computer/server meets the following requirements:
- [Node.js](https://nodejs.org) >= 9: Node.js is a server platform which runs JavaScript. Installation guide [here](https://nodejs.org/en/download/).
- [MongoDB](https://www.mongodb.com/) >= 2.6: MongoDB is a powerful document store. Installation guide [here](https://www.mongodb.com/download-center?j#community).
- [Node.js](https://nodejs.org) >= 10.x: Node.js is a server platform which runs JavaScript. Installation guide [here](https://nodejs.org/en/download/).
- [NPM](https://www.npmjs.com/) >= 6.x: NPM is the package manager for Javascript. Installation guide [here](https://nodejs.org/en/download/).
*(Make sure the database that you are using meets the requirement.)*
- [MongoDB](https://www.mongodb.com/) >= 3.x: MongoDB is a powerful document store. Installation guide [here](https://www.mongodb.com/download-center?j#community).
- [MySQL](https://www.mysql.com/) >= 5.6: MySQL is an open-source relational database management system. Installation guide [here](https://dev.mysql.com/downloads/).
- [MariaDB](https://mariadb.org/) >= 10.1: MarialDB is a fork of MySQL and is guaranteed to stay open source. Installation guide [here](https://mariadb.org/download/).
- [PostgreSQL](https://www.postgresql.org/) >= 10: PostgreSQL is an open-source object-relational database management system. Installation guide [here](https://www.postgresql.org/download/).
## Setup

View File

@ -26,6 +26,7 @@
"app.components.DownloadInfo.download": "İndirme devam ediyor...",
"app.components.DownloadInfo.text": "Bu birkaç dakika sürebilir. Sabrınız için teşekkürler.",
"app.components.HomePage.button.blog": "BLOG SAYFASINDA DAHA FAZLASINI GÖRÜN",
"app.components.EmptyAttributes.title": "Alan henüz yok",
"app.components.HomePage.button.quickStart": "HIZLI BAŞLANGIÇ YAP",
"app.components.HomePage.community": "Topluluğumuza ulaşın",
"app.components.HomePage.community.content": "Farklı kanallarda takım üyeleri, katkıda bulunanlar ve geliştiricilere ulaşın.",

0
packages/strapi-generate-new/files/server.js Normal file → Executable file
View File

View File

@ -3,6 +3,8 @@
"components.AddFilterCTA.add": "Filtreler",
"components.AddFilterCTA.hide": "Filtreler",
"components.DraggableAttr.edit": "Düzenlemek için tıklayın",
"components.EmptyAttributesBlock.button": "Ayarlar sayfasına git",
"components.EmptyAttributesBlock.description": "Ayarlarınızı değiştirebilirsiniz",
"components.FilterOptions.FILTER_TYPES.=": "eşit",
"components.FilterOptions.FILTER_TYPES._contains": "içermek",
"components.FilterOptions.FILTER_TYPES._containss": "içermek (büyük-küçük harfe duyarlı)",
@ -25,10 +27,13 @@
"components.TableEmpty.withFilters": "Uygulanan filtrelerle {contentType} yoktur...",
"components.TableEmpty.withSearch": "Aramaya karşılık gelen {contentType} yoktur ({search})...",
"components.TableEmpty.withoutFilter": "{contentType} yoktur...",
"containers.Edit.addAnItem": "Bir öğe ekle...",
"containers.Edit.clickToJump": "Kayıta atlamak için tıklayın",
"containers.Edit.delete": "Sil",
"containers.Edit.editing": "Düzenleniyor...",
"containers.Edit.reset": "Reset",
"containers.Edit.returnList": "Listeye dön",
"containers.Edit.seeDetails": "Detaylar",
"containers.Edit.submit": "Kaydet",
"containers.Home.introduction": "Girişlerinizi düzenlemek için soldaki menüdeki ilgili bağlantıya gidin. Bu eklentinin ayarları düzenlemek için uygun bir yol bulunmamaktadır ve halen aktif geliştirme aşamasındadır.",
"containers.Home.pluginHeaderDescription": "Güçlü ve güzel bir arayüz aracılığıyla girişlerinizi yönetin.",
@ -37,12 +42,17 @@
"containers.List.errorFetchRecords": "Hata",
"containers.List.pluginHeaderDescription": "{label} kayıt bulundu",
"containers.List.pluginHeaderDescription.singular": "{label} kayıt bulundu",
"containers.ListPage.displayedFields": "Görüntülenen Alanlar",
"containers.SettingPage.addField": "Yeni alan ekle",
"containers.SettingPage.addRelationalField": "Add new relational field",
"containers.SettingPage.attributes": "Nitelik alanları",
"containers.SettingPage.attributes.description": "Niteliklerin sırasını tanımlayın",
"containers.SettingPage.editSettings.description": "Yerleşimi oluşturmak için alanları sürükleyip bırakın",
"containers.SettingPage.editSettings.title": "Düzenle - Ayarlar",
"containers.SettingPage.listSettings.description": "Bu içerik türü için seçenekleri yapılandırın",
"containers.SettingPage.listSettings.title": "Liste — Ayarlar",
"containers.SettingPage.pluginHeaderDescription": "Bu İçerik Türü için belirli ayarları yapılandırın",
"containers.SettingPage.relations": "İlişkisel alanlar",
"containers.SettingsPage.Block.contentType.description": "Belirli ayarları yapılandırın",
"containers.SettingsPage.Block.contentType.title": "İçerik Türleri",
"containers.SettingsPage.Block.generalSettings.description": "İçerik Türleriniz için varsayılan seçenekleri yapılandırın",
@ -73,17 +83,20 @@
"error.validation.required": "Zorunlu alandır.",
"form.Input.bulkActions": "Toplu işlemleri etkinleştir",
"form.Input.defaultSort": "Varsayılan sıralama özelliği",
"form.Input.description": "Description",
"form.Input.description.placeholder": "Display name in the profile",
"form.Input.disabled": "Editable field",
"form.Input.description": "ıklama",
"form.Input.description.placeholder": "Profildeki görünen ad",
"form.Input.disabled": "Düzenlenebilir alan",
"form.Input.filters": "Filtreleri etkinleştir",
"form.Input.label": "Etiket",
"form.Input.label.inputDescription": "Bu değer, tablonun başında görüntülenen etiketi geçersiz kılar",
"form.Input.pageEntries": "Sayfa başına kayıtlar",
"form.Input.pageEntries.inputDescription": "Not: Bu değeri İçerik Türü ayarları sayfasında geçersiz kılabilirsiniz..",
"form.Input.placeholder": "Placeholder",
"form.Input.placeholder.placeholder": "Müthiş değerim",
"form.Input.search": "Aramayı etkinleştir",
"form.Input.search.field": "Bu alanda aramayı etkinleştir",
"form.Input.sort.field": "Bu alana göre sıralamayı etkinleştir",
"notification.error.displayedFields": "En az bir görüntülenen alana ihtiyacınız var",
"notification.error.relationship.fetch": "İlişki getirme sırasında bir hata oluştu.",
"notification.info.SettingPage.disableSort": "Sıralamaya izin verilen tek bir özelliğe sahip olmanız gerekir",
"pageNotFound": "Sayfa bulunamadı",

View File

@ -1,4 +1,17 @@
import { forEach, isObject, isArray, map, mapKeys, includes, reject, isEmpty, findIndex, isUndefined } from 'lodash';
import {
forEach,
isObject,
isArray,
map,
mapKeys,
includes,
reject,
isEmpty,
findIndex,
isUndefined,
isBoolean,
isNumber,
} from 'lodash';
/* eslint-disable consistent-return */
export function getValidationsFromForm(form, formValidations) {
@ -88,7 +101,7 @@ function validate(value, validations) {
case 'type':
if (validationValue === 'json') {
try {
if (isObject(value)) {
if (isObject(value) || isBoolean(value) || isNumber(value) || isArray(value)) {
value = JSON.parse(JSON.stringify(value));
} else {
errors.push({ id: 'content-manager.error.validation.json' });

View File

@ -78,6 +78,11 @@
"form.server.item.cron": "Cron",
"form.server.item.host": "Sunucu",
"form.server.item.port": "Port",
"form.server.item.proxy": "Vekil Sunucu Ayarları",
"form.server.item.proxy.enable": "Vekil Sunucuyu Etkinleştir",
"form.server.item.proxy.host": "Vekil Sunucu",
"form.server.item.proxy.port": "Vekil Sunucu Port",
"form.server.item.proxy.ssl": "Vekil Sunucu SSL",
"form.server.name": "Sunucu",
"language.af": "Afrikaans",
"language.af_NA": "Afrikaans (Namibië)",

View File

@ -76,6 +76,10 @@ export class AuthPage extends React.Component { // eslint-disable-line react/pre
}
if (!isEmpty(get(this.props.modifiedData, 'password')) && !isEmpty(get(this.props.modifiedData, 'confirmPassword')) && findIndex(acc, ['name', 'confirmPassword']) === -1) {
if (this.props.modifiedData.password.length < 6) {
acc.push({ name: 'password', errors: [{ id: 'users-permissions.components.Input.error.password.length' }] });
}
if (get(this.props.modifiedData, 'password') !== get(this.props.modifiedData, 'confirmPassword')) {
acc.push({ name: 'confirmPassword', errors: [{ id: 'users-permissions.components.Input.error.password.noMatch' }] });
}

View File

@ -142,6 +142,7 @@
"PopUpForm.header.edit.providers": "Edit {provider} Provider",
"PopUpForm.inputSelect.providers.label": "Choose the provider",
"components.Input.error.password.noMatch": "Passwords do not match",
"components.Input.error.password.length": "Password is too short",
"notification.error.delete": "An error occurred while trying to delete the item",
"notification.error.fetch": "An error occurred while trying to fetch data",
"notification.error.fetchUser": "An error occurred while trying to fetch users",

View File

@ -133,6 +133,7 @@
"PopUpForm.header.edit.providers": "Editer {provider} Provider",
"PopUpForm.inputSelect.providers.label": "Sélectionnez le provider",
"components.Input.error.password.noMatch": "Le mot de passe ne correspond pas",
"components.Input.error.password.length": "Le password doit contenir au moins 6 caractères",
"notification.error.delete": "Une erreur est survenue en essayant de supprimer cet élément",
"notification.error.fetch": "Une erreur est survenue en essayant de récupérer les données",
"notification.error.fetchUser": "Une erreur est survenue en esssayent de récupérer les users",

View File

@ -6,7 +6,9 @@
"Auth.form.button.register": "Başlamaya hazır",
"Auth.form.button.register-success": "Tekrar gönderin",
"Auth.form.button.reset-password": "Şifre değiştir",
"Auth.form.error.blocked": "Hesabınız yönetici tarafından engellendi.",
"Auth.form.error.code.provide": "Geçersiz sağlanmış kod.",
"Auth.form.error.confirmed": "Tanımladığınız e-posta onaylanmadı.",
"Auth.form.error.email.invalid": "E-postası geçersiz.",
"Auth.form.error.email.provide": "Lütfen kullanıcı adınızı veya e-postanızı belirtin.",
"Auth.form.error.email.taken": "E-posta zaten alınmış",
@ -17,7 +19,8 @@
"Auth.form.error.password.local": "Bu kullanıcı hiçbir bir şifre belirlemedi; hesap oluşturma sırasında kullanılan sağlayıcı aracılığıyla lütfen giriş yapınız..",
"Auth.form.error.password.matching": "Parolalar uyuşmuyor.",
"Auth.form.error.password.provide": "Lütfen şifrenizi girin.",
"Auth.form.error.user.not-exist": "Bu e-posta bulunmamaktadır..",
"Auth.form.error.ratelimit": "Çok fazla deneme var. Lütfen bir dakika sonra tekrar deneyin.",
"Auth.form.error.user.not-exist": "Bu e-posta bulunmamaktadır..",
"Auth.form.error.username.taken": "Kullanıcı adı zaten alınmış",
"Auth.form.forgot-password.email.label": "E-postanızı giriniz",
"Auth.form.forgot-password.email.label.success": "E-posta başarıyla gönderildi, ",
@ -52,8 +55,12 @@
"EditForm.inputSelect.subscriptions.description": "Saat başına IP için abone sayısını sınırlayın.",
"EditForm.inputSelect.subscriptions.label": "Abonelik kotalarını yönetme",
"EditForm.inputToggle.description.email": "Kullanıcıyı, farklı kimlik doğrulama sağlayıcılarıyla aynı e-posta adresini kullanarak birden fazla hesap oluşturmasına izin vermeyin.",
"EditForm.inputToggle.description.email-confirmation": "Etkinleştirildiğinde yeni kayıtlı kullanıcılar bir onay e-postası alır.",
"EditForm.inputToggle.description.email-confirmation-redirection": "E-postanızı onayladıktan sonra, yönlendirileceğiniz yeri seçin.",
"EditForm.inputToggle.description.sign-up": "Devre dışı bırakıldığında (KAPALI), kayıt işlemi yasaktır. Artık kullanılan sağlayıcı ne olursa olsun hiç kimse abone olamaz.",
"EditForm.inputToggle.label.email": "E-posta adresi başına bir hesap",
"EditForm.inputToggle.label.email-confirmation": "E-posta onayını etkinleştir",
"EditForm.inputToggle.label.email-confirmation-redirection": "Yönlendirme URL'si",
"EditForm.inputToggle.label.sign-up": "Kayıtları etkinleştir",
"EditPage.cancel": "İptal",
"EditPage.form.roles": "Rol detayları",
@ -69,6 +76,7 @@
"EditPage.notification.policies.error": "İlkeler getirilirken bir hata oluştu.",
"EditPage.notification.role.error": "Rol getirilirken bir hata oluştu.",
"EditPage.submit": "Kaydet",
"Email.template.email_confirmation": "E-posta adresi onayı",
"Email.template.reset_password": "Şifreyi yenile",
"Email.template.success_register": "Kayıt başarılı",
"Email.template.validation_email": "E-posta adresinin doğrulanması",
@ -113,7 +121,8 @@
"PopUpForm.Email.success_register.options.object.placeholder": "Lütfen %APP_NAME% için e-posta adresinizi onaylayın",
"PopUpForm.Email.validation_email.options.message.placeholder": "<p>Hesabınızı doğrulamak için lütfen bu bağlantıyı tıklayın.</p>",
"PopUpForm.Email.validation_email.options.object.placeholder": "Lütfen %APP_NAME% için e-posta adresinizi onaylayın",
"PopUpForm.Providers.callback.placeholder": "METİN",
"PopUpForm.Providers.discord.providerConfig.redirectURL": "Discord uygulama yapılandırmalarınıza eklenecek yönlendirme URL'si",
"PopUpForm.Providers.callback.placeholder": "METİN",
"PopUpForm.Providers.enabled.description": "Devre dışı bırakıldıysa kullanıcılar bu sağlayıcıyı kullanamaz.",
"PopUpForm.Providers.enabled.label": "Etkinleştirme",
"PopUpForm.Providers.facebook.providerConfig.redirectURL": "Facebook uygulama yapılandırmalarınıza eklenecek yönlendirme URL'si",
@ -122,6 +131,7 @@
"PopUpForm.Providers.key.label": "Web istemcisi ID",
"PopUpForm.Providers.key.placeholder": "METİN",
"PopUpForm.Providers.linkedin2.providerConfig.redirectURL": "Linkedin uygulama yapılandırmalarınıza eklenecek yönlendirme URL'si",
"PopUpForm.Providers.microsoft.providerConfig.redirectURL": "Microsoft uygulama yapılandırmalarınıza eklenecek yönlendirme URL'si",
"PopUpForm.Providers.redirectURL.front-end.label": "Arayüz uygulamanızın yönlendirme URL'si",
"PopUpForm.Providers.secret.label": "Web istemcisi Secret",
"PopUpForm.Providers.secret.placeholder": "METİN",
@ -132,7 +142,8 @@
"PopUpForm.header.edit.email-templates": "E-posta Şablonlarını Düzenle",
"PopUpForm.header.edit.providers": "{sağlayıcı} sağlayıcını düzenle",
"PopUpForm.inputSelect.providers.label": "Sağlayıcıyı seçin",
"components.Input.error.password.noMatch": "Parolalar uyuşmuyor",
"components.Input.error.password.noMatch": "Şifreler uyuşmuyor",
"components.Input.error.password.length": "Şifreniz çok kısa",
"notification.error.delete": "Öğe silinirken bir hata oluştu",
"notification.error.fetch": "Verileri getirmeye çalışılırken bir hata oluştu",
"notification.error.fetchUser": "Kullanıcıları getirmeye çalışılırken bir hata oluştu",

0
packages/strapi/bin/strapi.js Normal file → Executable file
View File