-
Conteúdo Similar
-
Por violin101
Caros amigos, saudações.
Por favor, me permita tirar uma dúvida com os amigos.
Tenho um Formulário onde o Usuário digita todos os Dados necessários.
Minha dúvida:
--> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?
Grato,
Cesar
-
Por Carcleo
Tenho uma abela de usuarios e uma tabela de administradores e clientes.
Gostaria de uma ajuda para implementar um cadastro
users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
Queria ajuda para extender de user as classes Admin e Client
Olhem como estáAdmin
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User { use HasFactory; protected $fillable = [ 'name', 'email', 'password', 'registration' ]; private string $registration; public function create( string $name, string $email, string $password, string $registration ) { //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]); parent::$name = $name; parent::$email = $email; parent::$password = $password; $this->registration = $registration; } } User
<?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable { /** @use HasFactory<\Database\Factories\UserFactory> */ use HasFactory, Notifiable; static string $name; static string $email; static string $password; /** * The attributes that are mass assignable. * * @var list<string> */ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var list<string> */ protected $hidden = [ 'remember_token', ]; /** * Get the attributes that should be cast. * * @return array<string, string> */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } public function roles() : BelongsToMany { return $this->belongsToMany(Role::class); } public function hasHole(Array $roleName): bool { foreach ($this->roles as $role) { if ($role->name === $roleName) { return true; } } return false; } public function hasHoles(Array $rolesName): bool { foreach ($this->roles as $role) { foreach ($rolesName as $rolee) { if ($role->name === $rolee) { return true; } } } return false; } public function hasAbility(string $ability): bool { foreach ($this->roles as $role) { if ($role->abilities->contains('name', $ability)) { return true; } } return false; } } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
Tentei assim mas é claro que está errado...
public function store(Request $request, Admin $adminModel) { $dados = $request->validate([ "name" => "required", "email" => "required|email", "password" => "required", "registration" => "required" ]); $dados["password"] = Hash::make($dados["password"]); $admin = Admin::where("registration", $dados["registration"])->first(); if ($admin) return redirect()->route("admin.new") ->withErrors([ 'fail' => 'Administrador já cadastrados<br>, favor verificar!' ]); $newAdmin = $adminModel->create( $dados['name'], $dados['email'], $dados['password'], $dados['registration'] ); dd($newAdmin); $adminModel->save(); //$adminModel::create($admin); return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso'); }
-
Por violin101
Caros amigos, saudações.
Gostaria de tirar uma dúvida com os amigos, referente a PDV.
Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.
Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
a baixa direto dos produtos no estoque
ou
somente após concretizar a venda o sistema baixa os produtos do estoque ?
Grato,
Cesar
-
Por violin101
Caros amigos do grupo, saudações e um feliz 2025.
Estou com uma pequena dúvida referente a Teclas de Atalho.
Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
ou seja:
se estiver para letra minúscula ====> funciona
se estiver para letra maiúscula ====> não funciona
Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?
o Código está assim:
document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });
Grato,
Cesar
-
Por violin101
Caros amigos, saudações.
Por favor, poderiam me ajudar.
Estou com a seguinte dúvida:
--> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.
exemplo:
código ---- descrição
1 ----- produto_A
Grato,
Cesar
-
<!DOCTYPE html>
<html>
<head>
</head>
<head>
<script center>
//Lógica dos campos do formulário
function show(select_item) {
if (select_item == "regional1") {
hiddenDiv.style.visibility='visible';
hiddenDiv.style.display='block';
Form.fileURL.focus();
}
else{
hiddenDiv.style.visibility='hidden';
hiddenDiv.style.display='RPA';
}
}
function populate(s1,s2){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value == "1"){
var optionArray = ["|","1|1","2|2"];
} else if(s1.value == "2"){
var optionArray = ["|","3|3"];
} else if(s1.value == "3"){
var optionArray = ["|","4|4","5|5"];
} else if(s1.value == "4"){
var optionArray = ["|","6|6"];
}
for(var option in optionArray){
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
function populate2(s1,s2){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value == "1"){
var optionArray = ["|","CMEI|CMEI","CRECHE ESCOLA RECIFE|CRECHE ESCOLA RECIFE","CRECHE MUNICIPAL|CRECHE MUNICIPAL","ESCOLA MUNICIPAL|ESCOLA MUNICIPAL"];
} else if(s1.value == "2"){
var optionArray = ["|","CMEI|CMEI","CRECHE ESCOLA RECIFE|CRECHE ESCOLA RECIFE","CRECHE MUNICIPAL|CRECHE MUNICIPAL","ESCOLA MUNICIPAL|ESCOLA MUNICIPAL"];
} else if(s1.value == "3"){
var optionArray = ["|","CMEI|CMEI","CRECHE ESCOLA RECIFE|CRECHE ESCOLA RECIFE","CRECHE MUNICIPAL|CRECHE MUNICIPAL","ESCOLA MUNICIPAL|ESCOLA MUNICIPAL"];
} else if(s1.value == "4"){
var optionArray = ["|","CMEI|CMEI","CRECHE ESCOLA RECIFE|CRECHE ESCOLA RECIFE","CRECHE MUNICIPAL|CRECHE MUNICIPAL","ESCOLA MUNICIPAL|ESCOLA MUNICIPAL"];
} else if(s1.value == "5"){
var optionArray = ["|","CMEI|CMEI","CRECHE ESCOLA RECIFE|CRECHE ESCOLA RECIFE","CRECHE MUNICIPAL|CRECHE MUNICIPAL","ESCOLA MUNICIPAL|ESCOLA MUNICIPAL"];
} else if(s1.value == "6"){
var optionArray = ["|","CMEI|CMEI","CRECHE ESCOLA RECIFE|CRECHE ESCOLA RECIFE","CRECHE MUNICIPAL|CRECHE MUNICIPAL","ESCOLA MUNICIPAL|ESCOLA MUNICIPAL"];
}
for(var option in optionArray){
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
function populate3(s1,s2,s3,s4){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
var s3 = document.getElementById(s3);
var s4 = document.getElementById(s4);
s4.innerHTML = "";
if(s1.value == "ESCOLA MUNICIPAL" && s2.value == "1" && s3.value == "1"){
var optionArray = ["|","ESCOLA|escola 1"];
}
for(var option in optionArray){
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s4.options.add(newOption);
}
}
function populate4(s1,s2){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value == "CORREÇÃO DE FLUXO"){
var optionArray = ["|"];
} else if(s1.value == "EDUCAÇÃO JOVENS E ADULTOS"){
var optionArray = ["|"];
} else if(s1.value == "EDUCAÇÃO INFANTIL"){
var optionArray = ["|"];
} else if(s1.value == "EJA ESPECIAL"){
var optionArray = ["|"];
} else if(s1.value == "ENSINO FUNDAMENTAL"){
var optionArray = ["|","1 ANO|1 ANO","2 ANO|2 ANO","3 ANO|3 ANO","4 ANO|4 ANO","5 ANO|5 ANO"];
} else if(s1.value == "ENSINO FUNDAMENTAL ESPECIAL"){
var optionArray = ["|"];
}
for(var option in optionArray){
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
</script>
<!-- Ligação com o css -->
<link rel="stylesheet" type="text/css" href="/SLP/css/css/Pag.css" />
</head>
<body>
<br/><br/>
<h3>Informe os dados da turma:</h3>
<br/>
Os campos com <b>*</b> são obricatórios!
<br/><br/>
<!--Campos do formulário -->
<form name="cadastroProf" method="post" action="/SLP/Pesquisa/Unidade de Ensino/Pag1">
Regional:<b>*</b><br/>
<select id="reg" name="reg" onchange="populate(this.id,'rpa')" required>
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<br/><br/>
RPA:<b>*</b><br/>
<select id="rpa" name="rpa" onchange="populate2(this.id,'tpu1')" required></select>
<br/><br/>
Tipo da Unidade:<b>*</b><br/>
<select id="tpu1" name="tpu1" onchange="populate3(this.id,'reg','rpa','uni')" required></select>
<br/><br/>
Unidade de Ensino:<b>*</b><br/>
<select id="uni" name="uni" required></select>
<br/><br/>
Modalidade de Ensino:<b>*</b><br/>
<select id="mod" name="mod" onchange="populate4(this.id,'ano')" required>
<option value=""></option>
<option value="CORRECAO DE FLUXO">CORRECAO DE FLUXO</option>
<option value="EDUCACAO INFANTIL">EDUCACAO INFANTIL</option>
<option value="EDUCACAO JOVENS E ADULTOS">EDUCACAO JOVENS E ADULTOS</option>
<option value="EJA ESPECIAL">EJA ESPECIAL</option>
<option value="ENSINO FUNDAMENTAL">ENSINO FUNDAMENTAL</option>
<option value="ENSINO FUNDAMENTAL ESPECIAL">ENSINO FUNDAMENTAL ESPECIAL</option>
</select>
<br/><br/>
Ano de Ensino:<b>*</b><br/>
<select id="ano" name="ano" required></select>
<br/><br/>
</select>
<br/><br/>
<input type="submit" class="btfinalizar btn-blue" value="Buscar" />
</form>
</body>
</html>
Compartilhar este post
Link para o post
Compartilhar em outros sites