Browse Source

Merge branch 'dev' of https://github.com/volosoft/abp into dev

pull/1737/head
Alper Ebicoglu 7 years ago
parent
commit
c4bd02f75f
  1. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/pt-BR.json
  2. 1
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/en.json
  3. 16
      framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pt-BR.json
  4. 2
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json
  5. 2
      framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/pt-BR.json
  6. 2
      framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/pt-BR.json
  7. 4
      modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json
  8. 2
      modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/pt-BR.json
  9. 1
      modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/pt-BR.json
  10. 2
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pt-BR.json
  11. 3
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pt-BR.json
  12. 2
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIDentityClaimTypeRepository.cs
  13. 10
      modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityClaimTypeRepository.cs
  14. 7
      modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityClaimTypeRepository.cs
  15. 3
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pt-BR.json
  16. 2
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/pt-BR.json
  17. 20
      npm/ng-packs/packages/core/src/lib/states/config.state.ts
  18. 17
      npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts
  19. 2
      npm/ng-packs/packages/theme-shared/src/lib/components/toast/toast.component.ts
  20. 105
      npm/ng-packs/packages/theme-shared/src/lib/contants/styles.ts

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy/Volo/Abp/AspNetCore/Mvc/UI/MultiTenancy/Localization/pt-BR.json

@ -5,7 +5,7 @@
"Tenant": "Inquilino",
"Switch": "trocar",
"Name": "Nome",
"SwitchTenantHint": "Deixe o campo de nome em branco para alternar para o lado do host.",
"SwitchTenantHint": "Deixe o campo de nome em branco para acessar o host.",
"NotSelected": "Não selecionado"
}
}

1
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/en.json

@ -16,7 +16,6 @@
"The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.",
"The {0} field is not a valid fully-qualified http, https, or ftp URL.": "The {0} field is not a valid fully-qualified http, https, or ftp URL.",
"The field {0} is invalid.": "The field {0} is invalid.",
"'{0}' and '{1}' do not match.": "'{0}' and '{1}' do not match.",
"ThisFieldIsNotAValidCreditCardNumber.": "This field is not a valid credit card number.",
"ThisFieldIsNotValid.": "This field is not valid.",
"ThisFieldIsNotAValidEmailAddress.": "This field is not a valid e-mail address.",

16
framework/src/Volo.Abp.Localization/Volo/Abp/Localization/Resources/AbpValidation/pt-BR.json

@ -15,6 +15,20 @@
"The field {0} must be a string with a maximum length of {1}.": "O campo {0} deve ser uma palavra com o tamanho máximo de {1}.",
"The field {0} must be a string with a minimum length of {2} and a maximum length of {1}.": "O campo {0} deve ser uma palavra com o tamanho mínimo de {2} e tamanho máximo de {1}.",
"The {0} field is not a valid fully-qualified http, https, or ftp URL.": "O campo {0} não é um http, https, ou FTP válido.",
"The field {0} is invalid.": "O campo {0} é inválido."
"The field {0} is invalid.": "O campo {0} é inválido.",
"ThisFieldIsNotAValidCreditCardNumber.": "Não é um cartão de crédito válido.",
"ThisFieldIsNotValid.": "Campo inválido.",
"ThisFieldIsNotAValidEmailAddress.": "E-mail inválido.",
"ThisFieldOnlyAcceptsFilesWithTheFollowingExtensions:{0}": "Este campo só aceita arquivos com asseguintes extensões: {0}",
"ThisFieldMustBeAStringOrArrayTypeWithAMaximumLengthoOf{0}": "This field must be a string or array type with a maximum length of '{0}'.",
"ThisFieldMustBeAStringOrArrayTypeWithAMinimumLengthOf{0}": "This field must be a string or array type with a minimum length of '{0}'.",
"ThisFieldIsNotAValidPhoneNumber.": "Número de telefone inválido.",
"ThisFieldMustBeBetween{0}And{1}": "Este campo deve estar entre {0} e {1}.",
"ThisFieldMustMatchTheRegularExpression{0}": "Este campo deve ser compatível com a expressao regular: '{0}'.",
"ThisFieldIsRequired.": "Campo Obrigatório.",
"ThisFieldMustBeAStringWithAMaximumLengthOf{0}": "Campo com no máximo {0} caracteres.",
"ThisFieldMustBeAStringWithAMinimumLengthOf{1}AndAMaximumLengthOf{0}": "Este campo deve possuir entre {1} e {0} caracteres.",
"ThisFieldIsNotAValidFullyQualifiedHttpHttpsOrFtpUrl": "Este campo não é um http, https, ou ftp complatamente qualificado.",
"ThisFieldIsInvalid.": "Campo inválido."
}
}

2
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/pt-BR.json

@ -46,6 +46,6 @@
"DatatableActionDropdownDefaultText": "Ações",
"ChangePassword": "Alterar Senha",
"PersonalInfo": "Perfil",
"AreYouSureYouWantToCancelEditingWarningMessage": "Você tem alterações não salvas."
"AreYouSureYouWantToCancelEditingWarningMessage": " alterações não salvas."
}
}

2
framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Base/Validation/pt-BR.json

@ -2,6 +2,6 @@
"culture": "pt-BR",
"texts": {
"ThisFieldIsRequired": "Este campo é obrigatório",
"MaxLenghtErrorMessage": "Este campo pode ser no máximo de '{0}' caracteres"
"MaxLenghtErrorMessage": "Este campo pode ter no máximo '{0}' caracteres"
}
}

2
framework/test/Volo.Abp.Localization.Tests/Volo/Abp/Localization/TestResources/Source/pt-BR.json

@ -4,7 +4,7 @@
"Hello <b>{0}</b>.": "Olá <b>{0}</b>.",
"Car": "Carro",
"CarPlural": "Carros",
"MaxLenghtErrorMessage": "O comprimento deste campo pode ser no máximo de '{0}' caracteres",
"MaxLenghtErrorMessage": "Este campo pode ter no máximo '{0}' caracteres",
"Universe": "Universo",
"FortyTwo": "Quarenta e Dois"
}

4
modules/account/src/Volo.Abp.Account.Application.Contracts/Volo/Abp/Account/Localization/Resources/pt-BR.json

@ -7,9 +7,9 @@
"Password": "Senha",
"RememberMe": "Lembrar",
"UseAnotherServiceToLogin": "Usar outro serviço para entrar",
"UserLockedOutMessage": "Esta conta de usuário está bloqueada devido a muitas tentativas de entrar. Por favor, espero alguns instantes e tente novamente.",
"UserLockedOutMessage": "Esta conta de usuário está bloqueada devido a muitas tentativas de acesso. Por favor, espero alguns instantes e tente novamente.",
"InvalidUserNameOrPassword": "Usuário ou senha estão incorretos!",
"LoginIsNotAllowed": "Você não possui permissão para entrar! Você deveconfirmar seu e-mail ou número de telefone.",
"LoginIsNotAllowed": "Você não possui permissão para entrar! Você deve confirmar seu e-mail ou número de telefone.",
"SelfRegistrationDisabledMessage": "Não é permitido que você crie uma nova conta neste site. Contate um administrador para que ele crie uma conta para você.",
"Login": "Entrar",
"Cancel": "Cancelar",

2
modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Localization/Resources/Blogging/ApplicationContracts/pt-BR.json

@ -6,7 +6,7 @@
"Permission:Posts": "Postagens",
"Permission:Tags": "Etiquetas",
"Permission:Comments": "Comentários",
"Permission:Management": "Gerencimento",
"Permission:Management": "Gerenciamento",
"Permission:Edit": "Editar",
"Permission:Create": "Criar",
"Permission:Delete": "Excluir"

1
modules/docs/app/VoloDocs.Web/Localization/Resources/VoloDocs/Web/pt-BR.json

@ -1,6 +1,7 @@
{
"culture": "pt-BR",
"texts": {
"DocsTitle": "VoloDocs",
"WelcomeVoloDocs": "Bem vindo ao VoloDocs!",
"NoProjectWarning": "Ainda não existe um projeto definido!",
"CreateYourFirstProject": "Clique aqui para iniciar seu primeiro projeto",

2
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Localization/Resources/Docs/ApplicationContracts/pt-BR.json

@ -22,7 +22,7 @@
"DisplayName:Format": "Formatar",
"DisplayName:DefaultDocumentName": "Nome padrão do documento",
"DisplayName:NavigationDocumentName": "Nome de navegação do documento",
"DisplayName:MinimumVersion": "VErsão mínima",
"DisplayName:MinimumVersion": "Versão mínima",
"DisplayName:MainWebsiteUrl": "URL do site principal",
"DisplayName:LatestVersionBranchName": "Nome do branch da última versão",
"DisplayName:GitHubRootUrl": "URL raíz do GitHub",

3
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/pt-BR.json

@ -14,6 +14,7 @@
"NoProjectWarning": "Ainda não há projetos!",
"DocumentNotFound": "Oops, o documento solicitado não foi encontrado",
"NavigationDocumentNotFound": "Esta versão não possui um documento de navegação!",
"DocumentNotFoundInSelectedLanguage": "Documento no idioma desejado não foi encontrado. Documento no idioma padrão é mostrado."
"DocumentNotFoundInSelectedLanguage": "Documento no idioma desejado não foi encontrado. Documento no idioma padrão será mostrado.",
"FilterTopics": "Filtrar tópicos"
}
}

2
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IIDentityClaimTypeRepository.cs

@ -17,6 +17,6 @@ namespace Volo.Abp.Identity
/// </param>
Task<bool> AnyAsync(string name, Guid? ignoredId = null);
Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount);
Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount, string filter);
}
}

10
modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityClaimTypeRepository.cs

@ -24,9 +24,15 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
.CountAsync(ct => ct.Name == name) > 0;
}
public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount)
public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount, string filter)
{
var identityClaimTypes = await DbSet.OrderBy(sorting ?? "name desc")
var identityClaimTypes = await DbSet
.WhereIf(
!filter.IsNullOrWhiteSpace(),
u =>
u.Name.Contains(filter)
)
.OrderBy(sorting ?? "name desc")
.PageBy(skipCount, maxResultCount)
.ToListAsync();

7
modules/identity/src/Volo.Abp.Identity.MongoDB/Volo/Abp/Identity/MongoDB/MongoIdentityClaimTypeRepository.cs

@ -32,9 +32,14 @@ namespace Volo.Abp.Identity.MongoDB
}
}
public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount)
public async Task<List<IdentityClaimType>> GetListAsync(string sorting, int maxResultCount, int skipCount, string filter)
{
return await GetMongoQueryable()
.WhereIf<IdentityClaimType, IMongoQueryable<IdentityClaimType>>(
!filter.IsNullOrWhiteSpace(),
u =>
u.Name.Contains(filter)
)
.OrderBy(sorting ?? nameof(IdentityClaimType.Name))
.As<IMongoQueryable<IdentityClaimType>>()
.PageBy<IdentityClaimType, IMongoQueryable<IdentityClaimType>>(skipCount, maxResultCount)

3
modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/pt-BR.json

@ -1,6 +1,7 @@
{
"culture": "pt-BR",
"texts": {
"Settings": "Configurações"
"Settings": "Configurações",
"SuccessfullySaved": "Salvo com sucesso!"
}
}

2
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/pt-BR.json

@ -7,7 +7,7 @@
"TenantName": "Inquilino",
"DisplayName:TenantName": "Inquilino",
"TenantDeletionConfirmationMessage": "Inquilino '{0}' será excluído. Tem certeza?",
"ConnectionStrings": "Cordas de Conexão",
"ConnectionStrings": "String de Conexão",
"DisplayName:DefaultConnectionString": "String de Conexão Padrão",
"DisplayName:UseSharedDatabase": "Use o banco de dados compartilhado"
}

20
npm/ng-packs/packages/core/src/lib/states/config.state.ts

@ -93,26 +93,12 @@ export class ConfigState {
return selector;
}
static getGrantedPolicy(condition: string = '') {
const keys = condition
.replace(/\(|\)|\!|\s/g, '')
.split(/\|\||&&/)
.filter(key => key);
static getGrantedPolicy(key: string) {
const selector = createSelector(
[ConfigState],
function(state: Config.State): boolean {
if (!keys.length) return true;
const getPolicy = key => snq(() => state.auth.grantedPolicies[key], false);
if (keys.length > 1) {
keys.forEach(key => {
const value = getPolicy(key);
condition = condition.replace(key, value);
});
}
return getPolicy(condition);
if (!key) return true;
return snq(() => state.auth.grantedPolicies[key], false);
},
);

17
npm/ng-packs/packages/theme-shared/src/lib/components/confirmation/confirmation.component.ts

@ -11,26 +11,25 @@ import { Toaster } from '../../models/toaster';
(onClose)="close(dismiss)"
[modal]="true"
[baseZIndex]="1000"
styleClass=""
styleClass="abp-confirm"
>
<ng-template let-message pTemplate="message">
<div *ngIf="message.summary" class="modal-header">
<h4 class="modal-title">
{{ message.summary | abpLocalization: message.titleLocalizationParams }}
</h4>
<i class="fa fa-exclamation-circle abp-confirm-icon"></i>
<div *ngIf="message.summary" class="abp-confirm-summary">
{{ message.summary | abpLocalization: message.titleLocalizationParams }}
</div>
<div class="modal-body">
<div class="abp-confirm-body">
{{ message.detail | abpLocalization: message.messageLocalizationParams }}
</div>
<div class="modal-footer justify-content-center">
<button *ngIf="!message.hideCancelBtn" type="button" class="btn btn-secondary" (click)="close(reject)">
<div class="abp-confirm-footer justify-content-center">
<button *ngIf="!message.hideCancelBtn" type="button" class="btn btn-sm btn-primary" (click)="close(reject)">
{{ message.cancelCopy || 'AbpIdentity::Cancel' | abpLocalization }}
</button>
<button
*ngIf="!message.hideYesBtn"
type="button"
class="btn btn-secondary"
class="btn btn-sm btn-primary"
(click)="close(confirm)"
autofocus
>

2
npm/ng-packs/packages/theme-shared/src/lib/components/toast/toast.component.ts

@ -3,7 +3,7 @@ import { Component } from '@angular/core';
@Component({
selector: 'abp-toast',
template: `
<p-toast position="bottom-right" key="abpToast" [baseZIndex]="1000">
<p-toast position="bottom-right" key="abpToast" styleClass="abp-toast" [baseZIndex]="1000">
<ng-template let-message pTemplate="message">
<span
class="ui-toast-icon pi"

105
npm/ng-packs/packages/theme-shared/src/lib/contants/styles.ts

@ -45,6 +45,111 @@ export default `
white-space: nowrap;
}
.abp-toast .ui-toast-message {
box-sizing: border-box !important;
border: 2px solid transparent !important;
border-radius: 4px !important;
background-color: #f4f4f7 !important;
color: #1b1d29 !important;
}
.abp-toast .ui-toast-message-content {
padding: 10px !important;
}
.abp-toast .ui-toast-message-content .ui-toast-icon {
top: 0 !important;
left: 0 !important;
padding: 10px !important;
}
.abp-toast .ui-toast-summary {
margin: 0 !important;
font-weight: 700 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-error {
border-color: #ba1659 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-error .ui-toast-message-content .ui-toast-icon {
color: #ba1659 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-warning {
border-color: #ed5d98 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-warning .ui-toast-message-content .ui-toast-icon {
color: #ed5d98 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-success {
border-color: #1c9174 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-success .ui-toast-message-content .ui-toast-icon {
color: #1c9174 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-info {
border-color: #fccb31 !important;
}
.abp-toast .ui-toast-message.ui-toast-message-info .ui-toast-message-content .ui-toast-icon {
color: #fccb31 !important;
}
.abp-confirm .ui-toast-message {
box-sizing: border-box !important;
padding: 0px !important;
border:0 none !important;
border-radius: 4px !important;
background-color: #fff !important;
color: rgba(0, 0, 0, .65) !important;
font-family: "Poppins", sans-serif;
text-align: center !important;
}
.abp-confirm .ui-toast-message-content {
padding: 0px !important;
}
.abp-confirm .abp-confirm-icon {
margin: 32px 50px 5px !important;
color: #f8bb86 !important;
font-size: 52px !important;
}
.abp-confirm .ui-toast-close-icon {
display: none !important;
}
.abp-confirm .abp-confirm-summary {
display: block !important;
margin-bottom: 13px !important;
padding: 13px 16px 0px !important;
font-weight: 600 !important;
font-size: 18px !important;
}
.abp-confirm .abp-confirm-body {
display: inline-block !important;
padding: 0px 10px !important;
}
.abp-confirm .abp-confirm-footer {
display: block !important;
margin-top: 30px !important;
padding: 16px !important;
background-color: #f4f4f7 !important;
text-align: right !important;
}
.abp-confirm .abp-confirm-footer .btn {
margin-left: 10px !important;
}
/* <animations */
.fade-in-top {

Loading…
Cancel
Save