some bug fix in some parts
This commit is contained in:
parent
fb1124333d
commit
f41123b4b2
|
@ -3,4 +3,4 @@ framework:
|
||||||
dsn: '%env(MAILER_DSN)%'
|
dsn: '%env(MAILER_DSN)%'
|
||||||
message_bus: false
|
message_bus: false
|
||||||
headers:
|
headers:
|
||||||
From: 'Hesabix.ir <noreplay@cp.hesabix.ir>'
|
From: 'Hesabix.ir <noreplay@hesabix.ir>'
|
||||||
|
|
|
@ -595,7 +595,7 @@ class AdminController extends AbstractController
|
||||||
$item->setAmount($params['amount']);
|
$item->setAmount($params['amount']);
|
||||||
$item->setCardPan($params['card']);
|
$item->setCardPan($params['card']);
|
||||||
$item->setDateSubmit(time());
|
$item->setDateSubmit(time());
|
||||||
$item->setDes('واریز به حساب کسب و کار از طرف حسابیکس');
|
$item->setDes('تراکنش تسویه کیف پول');
|
||||||
$item->setRefID($params['refID']);
|
$item->setRefID($params['refID']);
|
||||||
$item->setGatePay($params['bank']);
|
$item->setGatePay($params['bank']);
|
||||||
$item->setBank($bid->getWalletMatchBank()->getName());
|
$item->setBank($bid->getWalletMatchBank()->getName());
|
||||||
|
@ -679,43 +679,4 @@ class AdminController extends AbstractController
|
||||||
return $this->json($res);
|
return $this->json($res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
#[Route('/script', name: 'script')]
|
|
||||||
public function script(EntityManagerInterface $entitymanager): JsonResponse
|
|
||||||
{
|
|
||||||
$items = $entitymanager->getRepository(\App\Entity\HesabdariDoc::class)->findAll();
|
|
||||||
foreach ($items as $item) {
|
|
||||||
$item->setDate(str_replace("-", "/", $item->getDate()));
|
|
||||||
$entitymanager->persist($item);
|
|
||||||
$entitymanager->flush();
|
|
||||||
|
|
||||||
}
|
|
||||||
echo str_replace("-", "/", "1403-02-06");
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
#[Route('/script2', name: 'script2')]
|
|
||||||
public function script2(EntityManagerInterface $entitymanager): JsonResponse
|
|
||||||
{
|
|
||||||
$banks = $entitymanager->getRepository(BankAccount::class)->findAll();
|
|
||||||
foreach ($banks as $bank) {
|
|
||||||
if ($bank->getMoney() == null) {
|
|
||||||
$bank->setMoney($bank->getBid()->getMoney());
|
|
||||||
$entitymanager->persist($bank);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$items = $entitymanager->getRepository(Cashdesk::class)->findAll();
|
|
||||||
foreach ($items as $item) {
|
|
||||||
if ($item->getMoney() == null) {
|
|
||||||
$item->setMoney($item->getBid()->getMoney());
|
|
||||||
$entitymanager->persist($bank);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$entitymanager->flush();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -332,10 +332,10 @@ class BuyController extends AbstractController
|
||||||
|
|
||||||
$temp['commodities'] = [];
|
$temp['commodities'] = [];
|
||||||
foreach ($item->getHesabdariRows() as $item) {
|
foreach ($item->getHesabdariRows() as $item) {
|
||||||
if ($item->getRef()->getCode() == '104') {
|
if ($item->getRef()->getCode() == '51') {
|
||||||
$temp['discountAll'] = $item->getBd();
|
$temp['discountAll'] = $item->getBs();
|
||||||
} elseif ($item->getRef()->getCode() == '90') {
|
} elseif ($item->getRef()->getCode() == '90') {
|
||||||
$temp['transferCost'] = $item->getBs();
|
$temp['transferCost'] = $item->getBd();
|
||||||
}
|
}
|
||||||
if ($item->getCommodity()) {
|
if ($item->getCommodity()) {
|
||||||
$temp['commodities'][] = Explore::ExploreCommodity($item->getCommodity(), $item->getCommdityCount());
|
$temp['commodities'][] = Explore::ExploreCommodity($item->getCommodity(), $item->getCommdityCount());
|
||||||
|
@ -442,9 +442,9 @@ class BuyController extends AbstractController
|
||||||
foreach ($doc->getHesabdariRows() as $item) {
|
foreach ($doc->getHesabdariRows() as $item) {
|
||||||
if ($item->getPerson()) {
|
if ($item->getPerson()) {
|
||||||
$person = $item->getPerson();
|
$person = $item->getPerson();
|
||||||
} elseif ($item->getRef()->getCode() == 104) {
|
} elseif ($item->getRef()->getCode() == 90) {
|
||||||
$discount = $item->getBd();
|
$discount = $item->getBd();
|
||||||
} elseif ($item->getRef()->getCode() == 61) {
|
} elseif ($item->getRef()->getCode() == 51) {
|
||||||
$transfer = $item->getBs();
|
$transfer = $item->getBs();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ class PayController extends AbstractController
|
||||||
$doc->setSubmitter($walletUser);
|
$doc->setSubmitter($walletUser);
|
||||||
else {
|
else {
|
||||||
$wu = new User();
|
$wu = new User();
|
||||||
$wu->setFullName('کیف پول حسابیکس');
|
$wu->setFullName('کیف پول');
|
||||||
$wu->setEmail('wallet@hesabix.ir');
|
$wu->setEmail('wallet@hesabix.ir');
|
||||||
$wu->setRoles([]);
|
$wu->setRoles([]);
|
||||||
$wu->setActive(true);
|
$wu->setActive(true);
|
||||||
|
|
|
@ -11,6 +11,6 @@ class UiGeneralController extends AbstractController
|
||||||
#[Route('/', name: 'general_home')]
|
#[Route('/', name: 'general_home')]
|
||||||
public function general_home(): JsonResponse
|
public function general_home(): JsonResponse
|
||||||
{
|
{
|
||||||
return $this->json(['message'=>'HesabixApi is running ...']);
|
return $this->json(['message'=>'System is running ...']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,7 +80,7 @@ class GeneralController extends AbstractController
|
||||||
Response::HTTP_OK,
|
Response::HTTP_OK,
|
||||||
[
|
[
|
||||||
'Content-Type' => 'application/pdf',
|
'Content-Type' => 'application/pdf',
|
||||||
'Content-Disposition' => 'inline; filename="Hesabix PrintOut.pdf"',
|
'Content-Disposition' => 'inline; filename="PrintOut.pdf"',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,8 @@ final class RegistrySettingsController extends AbstractController
|
||||||
'sponsorMessage' => $registryMGR->get('system', 'sponsers'),
|
'sponsorMessage' => $registryMGR->get('system', 'sponsers'),
|
||||||
'footerLeft' => $registryMGR->get('system', 'footerLeft'),
|
'footerLeft' => $registryMGR->get('system', 'footerLeft'),
|
||||||
'footerRight' => $registryMGR->get('system', 'footerRight'),
|
'footerRight' => $registryMGR->get('system', 'footerRight'),
|
||||||
|
'appName' => $registryMGR->get('system', 'appName'),
|
||||||
|
'appUrl' => $registryMGR->get('system', 'appUrl'),
|
||||||
];
|
];
|
||||||
|
|
||||||
return new JsonResponse([
|
return new JsonResponse([
|
||||||
|
@ -82,6 +83,8 @@ final class RegistrySettingsController extends AbstractController
|
||||||
$registryMGR->update('system', 'sponsers', $data['sponsorMessage'] ?? '');
|
$registryMGR->update('system', 'sponsers', $data['sponsorMessage'] ?? '');
|
||||||
$registryMGR->update('system', 'footerLeft', $data['footerLeft'] ?? '');
|
$registryMGR->update('system', 'footerLeft', $data['footerLeft'] ?? '');
|
||||||
$registryMGR->update('system', 'footerRight', $data['footerRight'] ?? '');
|
$registryMGR->update('system', 'footerRight', $data['footerRight'] ?? '');
|
||||||
|
$registryMGR->update('system', 'appName', $data['appName'] ?? '');
|
||||||
|
$registryMGR->update('system', 'appUrl', $data['appUrl'] ?? '');
|
||||||
|
|
||||||
return new JsonResponse([
|
return new JsonResponse([
|
||||||
'result' => 1,
|
'result' => 1,
|
||||||
|
|
|
@ -36,8 +36,8 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
use SymfonyCasts\Bundle\VerifyEmail\Exception\VerifyEmailExceptionInterface;
|
use SymfonyCasts\Bundle\VerifyEmail\Exception\VerifyEmailExceptionInterface;
|
||||||
|
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcher,
|
use Symfony\Component\EventDispatcher\EventDispatcher,
|
||||||
Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken,
|
Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken,
|
||||||
Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
|
Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
|
||||||
use function PHPUnit\Framework\throwException;
|
use function PHPUnit\Framework\throwException;
|
||||||
|
|
||||||
class UserController extends AbstractController
|
class UserController extends AbstractController
|
||||||
|
@ -388,7 +388,7 @@ class UserController extends AbstractController
|
||||||
$email = (new Email())
|
$email = (new Email())
|
||||||
->to($user->getEmail())
|
->to($user->getEmail())
|
||||||
->priority(Email::PRIORITY_HIGH)
|
->priority(Email::PRIORITY_HIGH)
|
||||||
->subject('تایید ایمیل در حسابیکس')
|
->subject('تایید ایمیل')
|
||||||
->html(
|
->html(
|
||||||
$this->renderView('user/email/confrim-register.html.twig', [
|
$this->renderView('user/email/confrim-register.html.twig', [
|
||||||
'code' => $user->getVerifyCode()
|
'code' => $user->getVerifyCode()
|
||||||
|
@ -455,7 +455,7 @@ class UserController extends AbstractController
|
||||||
$email = (new Email())
|
$email = (new Email())
|
||||||
->to($user->getEmail())
|
->to($user->getEmail())
|
||||||
->priority(Email::PRIORITY_HIGH)
|
->priority(Email::PRIORITY_HIGH)
|
||||||
->subject('تایید ایمیل در حسابیکس')
|
->subject('تایید ایمیل ')
|
||||||
->html(
|
->html(
|
||||||
$this->renderView('user/email/confrim-register.html.twig', [
|
$this->renderView('user/email/confrim-register.html.twig', [
|
||||||
'code' => $user->getVerifyCode()
|
'code' => $user->getVerifyCode()
|
||||||
|
@ -613,7 +613,7 @@ class UserController extends AbstractController
|
||||||
$email = (new Email())
|
$email = (new Email())
|
||||||
->to($user->getEmail())
|
->to($user->getEmail())
|
||||||
->priority(Email::PRIORITY_HIGH)
|
->priority(Email::PRIORITY_HIGH)
|
||||||
->subject('حسابیکس - فراموشی کلمه عبور')
|
->subject('فراموشی کلمه عبور')
|
||||||
->html(
|
->html(
|
||||||
$this->renderView('user/email/confrim-forget-password.html.twig', [
|
$this->renderView('user/email/confrim-forget-password.html.twig', [
|
||||||
'code' => $user->getVerifyCode()
|
'code' => $user->getVerifyCode()
|
||||||
|
@ -690,7 +690,7 @@ class UserController extends AbstractController
|
||||||
$email = (new Email())
|
$email = (new Email())
|
||||||
->to($user->getEmail())
|
->to($user->getEmail())
|
||||||
->priority(Email::PRIORITY_HIGH)
|
->priority(Email::PRIORITY_HIGH)
|
||||||
->subject('تایید ایمیل در حسابیکس')
|
->subject('تایید ایمیل ')
|
||||||
->html(
|
->html(
|
||||||
$this->renderView('user/email/confrim-register.html.twig', [
|
$this->renderView('user/email/confrim-register.html.twig', [
|
||||||
'code' => $user->getVerifyCode()
|
'code' => $user->getVerifyCode()
|
||||||
|
@ -716,4 +716,53 @@ class UserController extends AbstractController
|
||||||
'canRegister' => $canRegister
|
'canRegister' => $canRegister
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[Route('/api/admin/user/change-password/{userId}', name: 'change_user_password', methods: ['POST'])]
|
||||||
|
public function changePassword(
|
||||||
|
int $userId,
|
||||||
|
Request $request,
|
||||||
|
EntityManagerInterface $entityManager,
|
||||||
|
UserPasswordHasherInterface $passwordHasher,
|
||||||
|
registryMGR $registryMGR,
|
||||||
|
MailerInterface $mailer,
|
||||||
|
SMS $SMS
|
||||||
|
): JsonResponse {
|
||||||
|
$data = json_decode($request->getContent(), true);
|
||||||
|
$password = $data['password'] ?? null;
|
||||||
|
$notifyUser = $data['notifyUser'] ?? false;
|
||||||
|
|
||||||
|
if (!$password) {
|
||||||
|
return new JsonResponse(['error' => 'Password is required'], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$user = $entityManager->getRepository(User::class)->find($userId);
|
||||||
|
|
||||||
|
if (!$user) {
|
||||||
|
return new JsonResponse(['error' => 'User not found'], 404);
|
||||||
|
}
|
||||||
|
|
||||||
|
$user->setPassword($passwordHasher->hashPassword($user, $password));
|
||||||
|
$entityManager->persist($user);
|
||||||
|
$entityManager->flush();
|
||||||
|
|
||||||
|
if ($notifyUser) {
|
||||||
|
$SMS->send(
|
||||||
|
[$password],
|
||||||
|
$registryMGR->get('sms', 'changePassword'),
|
||||||
|
$user->getMobile()
|
||||||
|
);
|
||||||
|
$email = (new Email())
|
||||||
|
->to($user->getEmail())
|
||||||
|
->priority(Email::PRIORITY_HIGH)
|
||||||
|
->subject('تغییر کلمه عبور')
|
||||||
|
->html(
|
||||||
|
$this->renderView('user/email/reset-password.html.twig', [
|
||||||
|
'code' => $password
|
||||||
|
])
|
||||||
|
);
|
||||||
|
$mailer->send($email);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new JsonResponse(['message' => 'Password changed successfully']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@ class pdfMGR
|
||||||
$htmlContent = $printQueue->getView() ?: '<p>محتوای PDF در دسترس نیست.</p>';
|
$htmlContent = $printQueue->getView() ?: '<p>محتوای PDF در دسترس نیست.</p>';
|
||||||
$mpdf->WriteHTML($htmlContent);
|
$mpdf->WriteHTML($htmlContent);
|
||||||
$mpdf->SetAutoPageBreak(true);
|
$mpdf->SetAutoPageBreak(true);
|
||||||
$mpdf->SetTitle('حسابیکس');
|
$mpdf->SetTitle('PDF Export');
|
||||||
|
|
||||||
// به جای Output مستقیم، محتوا رو برگردونید
|
// به جای Output مستقیم، محتوا رو برگردونید
|
||||||
return $mpdf->Output('', 'S'); // 'S' برای برگرداندن به صورت رشته
|
return $mpdf->Output('', 'S'); // 'S' برای برگرداندن به صورت رشته
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta lang="fa">
|
<meta lang="fa">
|
||||||
<meta content="width=device-width,initial-scale=1.0" name="viewport"/>
|
<meta content="width=device-width,initial-scale=1.0" name="viewport"/>
|
||||||
<meta content="حسابیکس برترین نرم افزار حسابداری ابری و رایگان" name="description"/>
|
<meta content="{{twigFunctions.getStaticData('system', 'appName')}} برترین نرم افزار حسابداری ابری و رایگان" name="description"/>
|
||||||
<meta content="Babak Alizadeh" name="author"/>
|
<meta content="Babak Alizadeh" name="author"/>
|
||||||
<title>حسابیکس - {% block title %}{% endblock %}</title>
|
<title>{{twigFunctions.getStaticData('system', 'appName')}} - {% block title %}{% endblock %}</title>
|
||||||
{# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
|
{# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
|
||||||
{% block stylesheets %}
|
{% block stylesheets %}
|
||||||
{#{{ encore_entry_link_tags('app') }}#}
|
{#{{ encore_entry_link_tags('app') }}#}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<div class="flex-grow-0 p-5">
|
<div class="flex-grow-0 p-5">
|
||||||
<a class="link-fx fw-bold fs-2" href="/">
|
<a class="link-fx fw-bold fs-2" href="/">
|
||||||
<span class="text-dark">حساب</span><span class="text-primary">یکس</span>
|
<span class="text-dark">{{twigFunctions.getStaticData('system', 'appName')}}</span>
|
||||||
</a>
|
</a>
|
||||||
<p class="text-uppercase fw-bold fs-sm text-muted mb-0"> به روزترین سامانه حسابداری ابری و رایگان </p>
|
<p class="text-uppercase fw-bold fs-sm text-muted mb-0"> به روزترین سامانه حسابداری ابری و رایگان </p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<ul class="list-inline flex-gow-1 p-5 fs-sm fw-medium mb-0">
|
<ul class="list-inline flex-gow-1 p-5 fs-sm fw-medium mb-0">
|
||||||
<li class="list-inline-item">
|
<li class="list-inline-item">
|
||||||
<a class="text-muted" href="{{ twigFunctions.systemSettings().appSite }}/"> ورود به حسابیکس </a>
|
<a class="text-muted" href="{{ twigFunctions.systemSettings().appSite }}/"> ورود به {{twigFunctions.getStaticData('system', 'appName')}} </a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!-- END Footer -->
|
<!-- END Footer -->
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
|
|
||||||
<title>Hello MembershipController!</title>
|
|
||||||
|
|
||||||
{% block body %}
|
|
||||||
<style>
|
|
||||||
.example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
|
|
||||||
.example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<div class="example-wrapper">
|
|
||||||
<h1>Hello {{ controller_name }}! ✅</h1>
|
|
||||||
|
|
||||||
This friendly message is coming from:
|
|
||||||
<ul>
|
|
||||||
<li>Your controller at <code>/var/www/html/next.hesabix.ir/hesabixCore/src/Controller/MembershipController.php</code></li>
|
|
||||||
<li>Your template at <code>/var/www/html/next.hesabix.ir/hesabixCore/templates/membership/index.html.twig</code></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
|
@ -9,8 +9,8 @@
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<div class="block-header block-header-default">
|
<div class="block-header block-header-default">
|
||||||
<div class="block-title text-primary-dark text-start">
|
<div class="block-title text-primary-dark text-start">
|
||||||
<img src="{{ asset('/img/logo-blue.png') }}" class="img-avatar img-avatar32" alt="حسابیکس"/>
|
<img src="{{ asset('/img/logo-blue.png') }}" class="img-avatar img-avatar32" alt="{{twigFunctions.getStaticData('system', 'appName')}}"/>
|
||||||
حسابیکس
|
{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="block-content p-3">
|
<div class="block-content p-3">
|
||||||
|
|
|
@ -14,9 +14,10 @@
|
||||||
<h2 class="flex-grow-1 fs-3 fw-semibold my-2 my-sm-3">
|
<h2 class="flex-grow-1 fs-3 fw-semibold my-2 my-sm-3">
|
||||||
مشاهده قبض تعمیرات
|
مشاهده قبض تعمیرات
|
||||||
</h2>
|
</h2>
|
||||||
<a class="btn btn-alt-primary my-2" href="https://hesabix.ir">
|
<a class="btn btn-alt-primary my-2" href="{{twigFunctions.getStaticData('system', 'appUrl')}}">
|
||||||
<i class="fa fa-fw fa-door-open me-1"></i>
|
<i class="fa fa-fw fa-door-open me-1"></i>
|
||||||
ورود به حسابیکس
|
ورود به
|
||||||
|
{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -58,7 +59,7 @@
|
||||||
{{bid.name}}
|
{{bid.name}}
|
||||||
</p>
|
</p>
|
||||||
<address>آدرس :
|
<address>آدرس :
|
||||||
استان
|
استان
|
||||||
{{bid.ostan}}
|
{{bid.ostan}}
|
||||||
شهرستان
|
شهرستان
|
||||||
{{bid.shahrestan}}
|
{{bid.shahrestan}}
|
||||||
|
@ -86,7 +87,7 @@
|
||||||
{{ person.nikename }}
|
{{ person.nikename }}
|
||||||
</p>
|
</p>
|
||||||
<address>آدرس :
|
<address>آدرس :
|
||||||
استان
|
استان
|
||||||
{{person.ostan}}
|
{{person.ostan}}
|
||||||
شهرستان
|
شهرستان
|
||||||
{{person.shahr}}
|
{{person.shahr}}
|
||||||
|
@ -162,8 +163,8 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<a href="https://hesabix.ir" class="p-4 mb-3text-primary text-center my-5">
|
<a href="{{twigFunctions.getStaticData('system', 'appUrl')}}" class="p-4 mb-3text-primary text-center my-5">
|
||||||
حسابیکس
|
{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
<label class="text-muted">سامانه جامع مالی رایگان ، ابری و متن باز</label>
|
<label class="text-muted">سامانه جامع مالی رایگان ، ابری و متن باز</label>
|
||||||
</a>
|
</a>
|
||||||
<!-- END Footer -->
|
<!-- END Footer -->
|
||||||
|
|
|
@ -239,8 +239,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<a href="https://hesabix.ir" class="p-4 mb-3text-primary text-center my-5">
|
<a href="{{twigFunctions.getStaticData('system', 'appUrl')}}" class="p-4 mb-3text-primary text-center my-5">
|
||||||
حسابیکس
|
{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
<label class="text-muted">سامانه جامع مالی رایگان ، ابری و متن باز</label>
|
<label class="text-muted">سامانه جامع مالی رایگان ، ابری و متن باز</label>
|
||||||
</a>
|
</a>
|
||||||
<!-- END Footer -->
|
<!-- END Footer -->
|
||||||
|
|
|
@ -130,8 +130,8 @@
|
||||||
{{ doc.des }}
|
{{ doc.des }}
|
||||||
</div>
|
</div>
|
||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<a href="https://hesabix.ir" class="p-4 mb-3text-primary text-center my-5">
|
<a href="{{twigFunctions.getStaticData('system', 'appUrl')}}" class="p-4 mb-3text-primary text-center my-5">
|
||||||
حسابیکس
|
{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
<label class="text-muted">سامانه جامع مالی رایگان ، ابری و متن باز</label>
|
<label class="text-muted">سامانه جامع مالی رایگان ، ابری و متن باز</label>
|
||||||
</a>
|
</a>
|
||||||
<!-- END Footer -->
|
<!-- END Footer -->
|
||||||
|
|
|
@ -1,327 +1,348 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html dir="rtl" lang="fa"><head>
|
<html dir="rtl" lang="fa">
|
||||||
<meta charset="utf-8"/>
|
<head>
|
||||||
<meta content="width=device-width,initial-scale=1.0" name="viewport"/>
|
<meta charset="utf-8"/>
|
||||||
|
<meta content="width=device-width,initial-scale=1.0" name="viewport"/>
|
||||||
|
|
||||||
<title>{% block title %}{% endblock %}</title>
|
<title>
|
||||||
|
{% block title %}{% endblock %}
|
||||||
|
</title>
|
||||||
|
|
||||||
<meta content="حسابیکس فروشگاه آنلاین" name="description"/>
|
<meta content="{{twigFunctions.getStaticData('system', 'appName')}} فروشگاه آنلاین" name="description"/>
|
||||||
<meta content="Hesabix.ir" name="author"/>
|
<meta
|
||||||
|
content="Hesabix.ir" name="author"/>
|
||||||
|
|
||||||
<!-- Open Graph Meta -->
|
<!-- Open Graph Meta -->
|
||||||
<meta content="Dashmix - Bootstrap 5 Admin Template & UI Framework" property="og:title"/>
|
<meta content="Dashmix - Bootstrap 5 Admin Template & UI Framework" property="og:title"/>
|
||||||
<meta content="Hesabix" property="og:site_name"/>
|
<meta content="Hesabix" property="og:site_name"/>
|
||||||
<meta content="Dashmix - Bootstrap 5 Admin Template & UI Framework created by pixelcave and published on Themeforest" property="og:description"/>
|
<meta content="Dashmix - Bootstrap 5 Admin Template & UI Framework created by pixelcave and published on Themeforest" property="og:description"/>
|
||||||
<meta content="website" property="og:type"/>
|
<meta content="website" property="og:type"/>
|
||||||
<meta content="" property="og:url"/>
|
<meta content="" property="og:url"/>
|
||||||
<meta content="" property="og:image"/>
|
<meta content="" property="og:image"/>
|
||||||
|
|
||||||
<!-- Icons -->
|
<!-- Icons -->
|
||||||
<!-- The following icons can be replaced with your own, they are used by desktop and mobile browsers -->
|
<!-- The following icons can be replaced with your own, they are used by desktop and mobile browsers -->
|
||||||
<link href="/assets/media/favicons/favicon.png" rel="shortcut icon"/>
|
<link href="/assets/media/favicons/favicon.png" rel="shortcut icon"/> <link href="/assets/media/favicons/favicon-192x192.png" rel="icon" sizes="192x192" type="image/png"/>
|
||||||
<link href="/assets/media/favicons/favicon-192x192.png" rel="icon" sizes="192x192" type="image/png"/>
|
<link href="/assets/media/favicons/apple-touch-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/>
|
||||||
<link href="/assets/media/favicons/apple-touch-icon-180x180.png" rel="apple-touch-icon" sizes="180x180"/>
|
<!-- END Icons -->
|
||||||
<!-- END Icons -->
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
<!-- Stylesheets -->
|
||||||
<!-- Dashmix framework -->
|
<!-- Dashmix framework -->
|
||||||
<link href="/assets/css/dashmix.min.css" id="css-main" rel="stylesheet"/>
|
<link href="/assets/css/dashmix.min.css" id="css-main" rel="stylesheet"/> <!-- You can include a specific file from css/themes/ folder to alter the default color theme of the template. eg: -->
|
||||||
|
<!-- <link rel="stylesheet" id="css-theme" href="assets/css/themes/xwork.min.css"> -->
|
||||||
|
<!-- END Stylesheets -->
|
||||||
|
<!--===== Custom Font css =====-->
|
||||||
|
<link href="/assets/css/custom-fonts.css" rel="stylesheet"/> </head>
|
||||||
|
<body>
|
||||||
|
<!-- Page Container -->
|
||||||
|
<!--
|
||||||
|
Available classes for #page-container:
|
||||||
|
|
||||||
|
GENERIC
|
||||||
|
|
||||||
|
'remember-theme' Remembers active color theme and dark mode between pages using localStorage when set through
|
||||||
|
- Theme helper buttons [data-toggle="theme"],
|
||||||
|
- Layout helper buttons [data-toggle="layout" data-action="dark_mode_[on/off/toggle]"]
|
||||||
|
- ..and/or Dashmix.layout('dark_mode_[on/off/toggle]')
|
||||||
|
|
||||||
|
SIDEBAR & SIDE OVERLAY
|
||||||
|
|
||||||
|
'sidebar-r' Right Sidebar and left Side Overlay (default is left Sidebar and right Side Overlay)
|
||||||
|
'sidebar-mini' Mini hoverable Sidebar (screen width > 991px)
|
||||||
|
'sidebar-o' Visible Sidebar by default (screen width > 991px)
|
||||||
|
'sidebar-o-xs' Visible Sidebar by default (screen width < 992px)
|
||||||
|
'sidebar-dark' Dark themed sidebar
|
||||||
|
|
||||||
|
'side-overlay-hover' Hoverable Side Overlay (screen width > 991px)
|
||||||
|
'side-overlay-o' Visible Side Overlay by default
|
||||||
|
|
||||||
|
'enable-page-overlay' Enables a visible clickable Page Overlay (closes Side Overlay on click) when Side Overlay opens
|
||||||
|
|
||||||
|
'side-scroll' Enables custom scrolling on Sidebar and Side Overlay instead of native scrolling (screen width > 991px)
|
||||||
|
|
||||||
|
HEADER
|
||||||
|
|
||||||
|
'' Static Header if no class is added
|
||||||
|
'page-header-fixed' Fixed Header
|
||||||
|
|
||||||
|
|
||||||
|
FOOTER
|
||||||
|
|
||||||
|
'' Static Footer if no class is added
|
||||||
|
'page-footer-fixed' Fixed Footer (please have in mind that the footer has a specific height when is fixed)
|
||||||
|
|
||||||
|
HEADER STYLE
|
||||||
|
|
||||||
|
'' Classic Header style if no class is added
|
||||||
|
'page-header-dark' Dark themed Header
|
||||||
|
'page-header-glass' Light themed Header with transparency by default
|
||||||
|
(absolute position, perfect for light images underneath - solid light background on scroll if the Header is also set as fixed)
|
||||||
|
'page-header-glass page-header-dark' Dark themed Header with transparency by default
|
||||||
|
(absolute position, perfect for dark images underneath - solid dark background on scroll if the Header is also set as fixed)
|
||||||
|
|
||||||
|
MAIN CONTENT LAYOUT
|
||||||
|
|
||||||
|
'' Full width Main Content if no class is added
|
||||||
|
'main-content-boxed' Full width Main Content with a specific maximum width (screen width > 1200px)
|
||||||
|
'main-content-narrow' Full width Main Content with a percentage width (screen width > 1200px)
|
||||||
|
|
||||||
|
DARK MODE
|
||||||
|
|
||||||
|
'sidebar-dark page-header-dark dark-mode' Enable dark mode (light sidebar/header is not supported with dark mode)
|
||||||
|
-->
|
||||||
|
<div
|
||||||
|
class="rtl-support page-header-dark main-content-boxed" id="page-container"> <!-- Header -->
|
||||||
|
<header
|
||||||
|
id="page-header">
|
||||||
|
<!-- Header Content -->
|
||||||
|
<div
|
||||||
|
class="content-header">
|
||||||
|
<!-- Left Section -->
|
||||||
|
<div
|
||||||
|
class="d-flex align-items-center">
|
||||||
|
<!-- Logo -->
|
||||||
|
<a class="fw-semibold text-dual tracking-wide" href="/s/{{ bid.storeUsername }}">
|
||||||
|
فروشگاه
|
||||||
|
{{ bid.name }}
|
||||||
|
</a>
|
||||||
|
<!-- END Logo -->
|
||||||
|
</div>
|
||||||
|
<!-- END Left Section -->
|
||||||
|
|
||||||
<!-- You can include a specific file from css/themes/ folder to alter the default color theme of the template. eg: -->
|
<!-- Right Section -->
|
||||||
<!-- <link rel="stylesheet" id="css-theme" href="assets/css/themes/xwork.min.css"> -->
|
<div>
|
||||||
<!-- END Stylesheets -->
|
<!-- Open Search Section -->
|
||||||
<!--===== Custom Font css =====-->
|
<!-- Layout API, functionality initialized in Template._uiApiLayout() -->
|
||||||
<link href="/assets/css/custom-fonts.css" rel="stylesheet"/>
|
<button class="btn btn-alt-secondary ms-2" data-action="header_search_on" data-toggle="layout" type="button"> <i class="fa fa-search"></i>
|
||||||
|
</button>
|
||||||
|
<!-- END Open Search Section -->
|
||||||
|
<a class="btn btn-alt-secondary ms-2" href="/s/{{ bid.storeUsername }}/basket">
|
||||||
|
<i class="fa fa-shopping-basket"></i>
|
||||||
|
</a>
|
||||||
|
<!-- Toggle Main Navigation -->
|
||||||
|
<button class="d-lg-none btn btn-alt-secondary ms-2" data-class="d-none" data-target="#main-navigation" data-toggle="class-toggle" type="button">
|
||||||
|
<i class="fa fa-bars"></i>
|
||||||
|
</button>
|
||||||
|
<!-- END Toggle Main Navigation -->
|
||||||
|
</div>
|
||||||
|
<!-- END Right Section -->
|
||||||
|
</div>
|
||||||
|
<!-- END Header Content -->
|
||||||
|
|
||||||
</head>
|
<!-- Header Search -->
|
||||||
<body>
|
<div class="overlay-header bg-sidebar-dark" id="page-header-search">
|
||||||
<!-- Page Container -->
|
<div class="content-header">
|
||||||
<!--
|
<form action="bd_search.html" class="w-100" method="POST">
|
||||||
Available classes for #page-container:
|
<div class="input-group">
|
||||||
|
<input
|
||||||
|
class="form-control" id="page-header-search-input" name="page-header-search-input" placeholder="محصول مورد نظر را جست و جو کنید" type="text"/>
|
||||||
|
<!-- Layout API, functionality initialized in Template._uiApiLayout() -->
|
||||||
|
<button class="btn btn-alt-danger" data-action="header_search_off" data-toggle="layout" type="button">
|
||||||
|
<i class="fa fa-fw fa-times-circle"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- END Header Search -->
|
||||||
|
|
||||||
GENERIC
|
<!-- Header Loader -->
|
||||||
|
<!-- Please check out the Loaders page under Components category to see examples of showing/hiding it -->
|
||||||
|
<div class="overlay-header bg-sidebar-dark" id="page-header-loader"> <div class="content-header">
|
||||||
|
<div class="w-100 text-center">
|
||||||
|
<i class="fa fa-fw fa-2x fa-spinner fa-spin text-primary"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- END Header Loader -->
|
||||||
|
</header>
|
||||||
|
<!-- END Header -->
|
||||||
|
|
||||||
'remember-theme' Remembers active color theme and dark mode between pages using localStorage when set through
|
<!-- Main Container -->
|
||||||
- Theme helper buttons [data-toggle="theme"],
|
<main
|
||||||
- Layout helper buttons [data-toggle="layout" data-action="dark_mode_[on/off/toggle]"]
|
id="main-container">
|
||||||
- ..and/or Dashmix.layout('dark_mode_[on/off/toggle]')
|
<!-- Navigation -->
|
||||||
|
<div class="bg-sidebar-dark">
|
||||||
|
<div
|
||||||
|
class="content">
|
||||||
|
<!-- Main Navigation -->
|
||||||
|
<div class="d-none d-lg-block push" id="main-navigation">
|
||||||
|
<ul class="nav-main nav-main-horizontal nav-main-hover nav-main-dark">
|
||||||
|
<li class="nav-main-item">
|
||||||
|
<a class="nav-main-link" href="/s/{{ bid.storeUsername }}">
|
||||||
|
<i class="nav-main-link-icon fa fa-compass"></i>
|
||||||
|
<span class="nav-main-link-name">
|
||||||
|
صفحه نخست
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- END Main Navigation -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- END Navigation -->
|
||||||
|
<!-- Page Content -->
|
||||||
|
<div
|
||||||
|
class="content">
|
||||||
|
<!-- Hero -->
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<div class="py-4 text-center">
|
||||||
|
<h1 class="mb-2">
|
||||||
|
داشبورد
|
||||||
|
</h1>
|
||||||
|
<h2 class="h4 fw-normal text-muted">به برنامه خود خوش آمدید، همه چیز عالی به نظر می رسد!</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- END Hero -->
|
||||||
|
|
||||||
SIDEBAR & SIDE OVERLAY
|
<!-- Dummy content -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<p class="text-center py-6">...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<p class="text-center py-6">...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<p class="text-center py-6">...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<p class="text-center py-6">...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<p class="text-center py-6">...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<p class="text-center py-6">...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="block block-rounded">
|
||||||
|
<div class="block-content">
|
||||||
|
<p class="text-center py-6">...</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- END Dummy content -->
|
||||||
|
</div>
|
||||||
|
<!-- END Page Content -->
|
||||||
|
</main>
|
||||||
|
<!-- END Main Container -->
|
||||||
|
|
||||||
'sidebar-r' Right Sidebar and left Side Overlay (default is left Sidebar and right Side Overlay)
|
<!-- Footer -->
|
||||||
'sidebar-mini' Mini hoverable Sidebar (screen width > 991px)
|
<footer class="footer-static bg-body-extra-light" id="page-footer">
|
||||||
'sidebar-o' Visible Sidebar by default (screen width > 991px)
|
<div
|
||||||
'sidebar-o-xs' Visible Sidebar by default (screen width < 992px)
|
class="content py-4">
|
||||||
'sidebar-dark' Dark themed sidebar
|
<!-- Footer Navigation -->
|
||||||
|
<div class="row items-push fs-sm border-bottom pt-4">
|
||||||
|
<div class="col-sm-12 col-md-6">
|
||||||
|
<h3 class="fw-light">تماس با فروشگاه</h3>
|
||||||
|
<ul class="list list-simple-mini">
|
||||||
|
{% if bid.tel != null or bid.tel != '' %}
|
||||||
|
<li>
|
||||||
|
<a class="fw-semibold" href="javascript:void(0)">
|
||||||
|
<i class="fa fa-fw fa-mobile text-primary-lighter me-1"></i>
|
||||||
|
تلفن:
|
||||||
|
{{ bid.tel }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% if bid.mobile != null or bid.mobile != '' %}
|
||||||
|
<li>
|
||||||
|
<a class="fw-semibold" href="javascript:void(0)">
|
||||||
|
<i class="fa fa-fw fa-mobile-android text-primary-lighter me-1"></i>
|
||||||
|
موبایل:
|
||||||
|
{{ bid.mobile }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% if bid.email != null or bid.email != '' %}
|
||||||
|
<li>
|
||||||
|
<a class="fw-semibold" href="javascript:void(0)">
|
||||||
|
<i class="fa fa-fw fa-message text-primary-lighter me-1"></i>
|
||||||
|
پست الکترونیکی:
|
||||||
|
{{ bid.email }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% if bid.postalCode != null or bid.postalCode != '' %}
|
||||||
|
<li>
|
||||||
|
<a class="fw-semibold" href="javascript:void(0)">
|
||||||
|
<i class="fa fa-fw fa-message text-primary-lighter me-1"></i>
|
||||||
|
کد پستی :
|
||||||
|
{{ bid.postalCode }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% if bid.address != null or bid.address != '' %}
|
||||||
|
<li>
|
||||||
|
<a class="fw-semibold" href="javascript:void(0)">
|
||||||
|
<i class="fa fa-fw fa-message text-primary-lighter me-1"></i>
|
||||||
|
آدرس : استان
|
||||||
|
{{ bid.ostan }}
|
||||||
|
شهر
|
||||||
|
{{ bid.shahrestan }}
|
||||||
|
{{ bid.address }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- END Footer Navigation -->
|
||||||
|
|
||||||
'side-overlay-hover' Hoverable Side Overlay (screen width > 991px)
|
<!-- Footer Copyright -->
|
||||||
'side-overlay-o' Visible Side Overlay by default
|
<div class="row fs-sm pt-4">
|
||||||
|
<div class="col-sm-6 order-sm-2 mb-1 mb-sm-0 text-center text-sm-end">
|
||||||
|
ساخته شده با
|
||||||
|
<i class="fa fa-heart text-danger"></i>
|
||||||
|
در
|
||||||
|
<a class="fw-semibold" href="{{twigFunctions.getStaticData('system', 'appUrl')}}" target="_blank">{{twigFunctions.getStaticData('system', 'appName')}}</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 order-sm-1 text-center text-sm-start"></div>
|
||||||
|
</div>
|
||||||
|
<!-- END Footer Copyright -->
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<!-- END Footer -->
|
||||||
|
</div>
|
||||||
|
<!-- END Page Container -->
|
||||||
|
|
||||||
'enable-page-overlay' Enables a visible clickable Page Overlay (closes Side Overlay on click) when Side Overlay opens
|
<!--
|
||||||
|
Dashmix JS
|
||||||
'side-scroll' Enables custom scrolling on Sidebar and Side Overlay instead of native scrolling (screen width > 991px)
|
|
||||||
|
Core libraries and functionality
|
||||||
HEADER
|
webpack is putting everything together at assets/_js/main/app.js
|
||||||
|
-->
|
||||||
'' Static Header if no class is added
|
<script src="/assets/js/dashmix.app.min.js"></script>
|
||||||
'page-header-fixed' Fixed Header
|
|
||||||
|
|
||||||
|
|
||||||
FOOTER
|
</body>
|
||||||
|
</html>
|
||||||
'' Static Footer if no class is added
|
|
||||||
'page-footer-fixed' Fixed Footer (please have in mind that the footer has a specific height when is fixed)
|
|
||||||
|
|
||||||
HEADER STYLE
|
|
||||||
|
|
||||||
'' Classic Header style if no class is added
|
|
||||||
'page-header-dark' Dark themed Header
|
|
||||||
'page-header-glass' Light themed Header with transparency by default
|
|
||||||
(absolute position, perfect for light images underneath - solid light background on scroll if the Header is also set as fixed)
|
|
||||||
'page-header-glass page-header-dark' Dark themed Header with transparency by default
|
|
||||||
(absolute position, perfect for dark images underneath - solid dark background on scroll if the Header is also set as fixed)
|
|
||||||
|
|
||||||
MAIN CONTENT LAYOUT
|
|
||||||
|
|
||||||
'' Full width Main Content if no class is added
|
|
||||||
'main-content-boxed' Full width Main Content with a specific maximum width (screen width > 1200px)
|
|
||||||
'main-content-narrow' Full width Main Content with a percentage width (screen width > 1200px)
|
|
||||||
|
|
||||||
DARK MODE
|
|
||||||
|
|
||||||
'sidebar-dark page-header-dark dark-mode' Enable dark mode (light sidebar/header is not supported with dark mode)
|
|
||||||
-->
|
|
||||||
<div class="rtl-support page-header-dark main-content-boxed" id="page-container">
|
|
||||||
|
|
||||||
<!-- Header -->
|
|
||||||
<header id="page-header">
|
|
||||||
<!-- Header Content -->
|
|
||||||
<div class="content-header">
|
|
||||||
<!-- Left Section -->
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<!-- Logo -->
|
|
||||||
<a class="fw-semibold text-dual tracking-wide" href="/s/{{ bid.storeUsername }}">
|
|
||||||
فروشگاه
|
|
||||||
{{ bid.name }}
|
|
||||||
</a>
|
|
||||||
<!-- END Logo -->
|
|
||||||
</div>
|
|
||||||
<!-- END Left Section -->
|
|
||||||
|
|
||||||
<!-- Right Section -->
|
|
||||||
<div>
|
|
||||||
<!-- Open Search Section -->
|
|
||||||
<!-- Layout API, functionality initialized in Template._uiApiLayout() -->
|
|
||||||
<button class="btn btn-alt-secondary ms-2" data-action="header_search_on" data-toggle="layout" type="button">
|
|
||||||
<i class="fa fa-search"></i>
|
|
||||||
</button>
|
|
||||||
<!-- END Open Search Section -->
|
|
||||||
<a class="btn btn-alt-secondary ms-2" href="/s/{{ bid.storeUsername }}/basket">
|
|
||||||
<i class="fa fa-shopping-basket"></i>
|
|
||||||
</a>
|
|
||||||
<!-- Toggle Main Navigation -->
|
|
||||||
<button class="d-lg-none btn btn-alt-secondary ms-2" data-class="d-none" data-target="#main-navigation" data-toggle="class-toggle" type="button"><i class="fa fa-bars"></i></button>
|
|
||||||
<!-- END Toggle Main Navigation -->
|
|
||||||
</div>
|
|
||||||
<!-- END Right Section -->
|
|
||||||
</div>
|
|
||||||
<!-- END Header Content -->
|
|
||||||
|
|
||||||
<!-- Header Search -->
|
|
||||||
<div class="overlay-header bg-sidebar-dark" id="page-header-search">
|
|
||||||
<div class="content-header">
|
|
||||||
<form action="bd_search.html" class="w-100" method="POST">
|
|
||||||
<div class="input-group">
|
|
||||||
<input class="form-control" id="page-header-search-input" name="page-header-search-input" placeholder="محصول مورد نظر را جست و جو کنید" type="text"/>
|
|
||||||
<!-- Layout API, functionality initialized in Template._uiApiLayout() -->
|
|
||||||
<button class="btn btn-alt-danger" data-action="header_search_off" data-toggle="layout" type="button">
|
|
||||||
<i class="fa fa-fw fa-times-circle"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- END Header Search -->
|
|
||||||
|
|
||||||
<!-- Header Loader -->
|
|
||||||
<!-- Please check out the Loaders page under Components category to see examples of showing/hiding it -->
|
|
||||||
<div class="overlay-header bg-sidebar-dark" id="page-header-loader">
|
|
||||||
<div class="content-header">
|
|
||||||
<div class="w-100 text-center">
|
|
||||||
<i class="fa fa-fw fa-2x fa-spinner fa-spin text-primary"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- END Header Loader -->
|
|
||||||
</header>
|
|
||||||
<!-- END Header -->
|
|
||||||
|
|
||||||
<!-- Main Container -->
|
|
||||||
<main id="main-container">
|
|
||||||
<!-- Navigation -->
|
|
||||||
<div class="bg-sidebar-dark">
|
|
||||||
<div class="content">
|
|
||||||
<!-- Main Navigation -->
|
|
||||||
<div class="d-none d-lg-block push" id="main-navigation">
|
|
||||||
<ul class="nav-main nav-main-horizontal nav-main-hover nav-main-dark">
|
|
||||||
<li class="nav-main-item">
|
|
||||||
<a class="nav-main-link" href="/s/{{ bid.storeUsername }}">
|
|
||||||
<i class="nav-main-link-icon fa fa-compass"></i>
|
|
||||||
<span class="nav-main-link-name"> صفحه نخست </span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<!-- END Main Navigation -->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- END Navigation -->
|
|
||||||
<!-- Page Content -->
|
|
||||||
<div class="content">
|
|
||||||
<!-- Hero -->
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<div class="py-4 text-center">
|
|
||||||
<h1 class="mb-2"> داشبورد </h1>
|
|
||||||
<h2 class="h4 fw-normal text-muted">به برنامه خود خوش آمدید، همه چیز عالی به نظر می رسد!</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- END Hero -->
|
|
||||||
|
|
||||||
<!-- Dummy content -->
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-4">
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<p class="text-center py-6">...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-4">
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<p class="text-center py-6">...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-4">
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<p class="text-center py-6">...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12">
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<p class="text-center py-6">...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-6">
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<p class="text-center py-6">...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-6">
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<p class="text-center py-6">...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12">
|
|
||||||
<div class="block block-rounded">
|
|
||||||
<div class="block-content">
|
|
||||||
<p class="text-center py-6">...</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- END Dummy content -->
|
|
||||||
</div>
|
|
||||||
<!-- END Page Content -->
|
|
||||||
</main>
|
|
||||||
<!-- END Main Container -->
|
|
||||||
|
|
||||||
<!-- Footer -->
|
|
||||||
<footer class="footer-static bg-body-extra-light" id="page-footer">
|
|
||||||
<div class="content py-4">
|
|
||||||
<!-- Footer Navigation -->
|
|
||||||
<div class="row items-push fs-sm border-bottom pt-4">
|
|
||||||
<div class="col-sm-12 col-md-6">
|
|
||||||
<h3 class="fw-light">تماس با فروشگاه</h3>
|
|
||||||
<ul class="list list-simple-mini">
|
|
||||||
{% if bid.tel != null or bid.tel != '' %}
|
|
||||||
<li>
|
|
||||||
<a class="fw-semibold" href="javascript:void(0)">
|
|
||||||
<i class="fa fa-fw fa-mobile text-primary-lighter me-1"></i>
|
|
||||||
تلفن: {{ bid.tel }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if bid.mobile != null or bid.mobile != '' %}
|
|
||||||
<li>
|
|
||||||
<a class="fw-semibold" href="javascript:void(0)">
|
|
||||||
<i class="fa fa-fw fa-mobile-android text-primary-lighter me-1"></i>
|
|
||||||
موبایل: {{ bid.mobile }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if bid.email != null or bid.email != '' %}
|
|
||||||
<li>
|
|
||||||
<a class="fw-semibold" href="javascript:void(0)">
|
|
||||||
<i class="fa fa-fw fa-message text-primary-lighter me-1"></i>
|
|
||||||
پست الکترونیکی: {{ bid.email }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if bid.postalCode != null or bid.postalCode != '' %}
|
|
||||||
<li>
|
|
||||||
<a class="fw-semibold" href="javascript:void(0)">
|
|
||||||
<i class="fa fa-fw fa-message text-primary-lighter me-1"></i>
|
|
||||||
کد پستی : {{ bid.postalCode }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% if bid.address != null or bid.address != '' %}
|
|
||||||
<li>
|
|
||||||
<a class="fw-semibold" href="javascript:void(0)">
|
|
||||||
<i class="fa fa-fw fa-message text-primary-lighter me-1"></i>
|
|
||||||
آدرس : استان {{ bid.ostan }} شهر {{ bid.shahrestan }} {{ bid.address }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- END Footer Navigation -->
|
|
||||||
|
|
||||||
<!-- Footer Copyright -->
|
|
||||||
<div class="row fs-sm pt-4">
|
|
||||||
<div class="col-sm-6 order-sm-2 mb-1 mb-sm-0 text-center text-sm-end"> ساخته شده با <i class="fa fa-heart text-danger"></i> در <a class="fw-semibold" href="https://hesabix.ir" target="_blank">حسابیکس</a>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-6 order-sm-1 text-center text-sm-start">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- END Footer Copyright -->
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
<!-- END Footer -->
|
|
||||||
</div>
|
|
||||||
<!-- END Page Container -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Dashmix JS
|
|
||||||
|
|
||||||
Core libraries and functionality
|
|
||||||
webpack is putting everything together at assets/_js/main/app.js
|
|
||||||
-->
|
|
||||||
<script src="/assets/js/dashmix.app.min.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</body></html>
|
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
<td class="edtext" valign="top" style="padding: 20px; color: #5f5f5f; font-size: 12px; font-family: Tahoma, Geneva, sans-serif; text-align: right; direction: rtl; box-sizing: border-box;">
|
<td class="edtext" valign="top" style="padding: 20px; color: #5f5f5f; font-size: 12px; font-family: Tahoma, Geneva, sans-serif; text-align: right; direction: rtl; box-sizing: border-box;">
|
||||||
<div class="style1" style="text-align: center; color: #000000; font-size: 28px; font-family: Helvetica, Arial, sans-serif;">
|
<div class="style1" style="text-align: center; color: #000000; font-size: 28px; font-family: Helvetica, Arial, sans-serif;">
|
||||||
<strong>
|
<strong>
|
||||||
<span style="color: #5f497a;">حسابیکس
|
<span style="color: #5f497a;">{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
</span>
|
</span>
|
||||||
<br>
|
<br>
|
||||||
</strong>
|
</strong>
|
||||||
|
|
|
@ -5,8 +5,7 @@
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
<meta name="viewport" content="width=device-width">
|
<meta name="viewport" content="width=device-width">
|
||||||
<style>
|
<style>
|
||||||
type="text/css"
|
type="text/css" body,
|
||||||
body,
|
|
||||||
html {
|
html {
|
||||||
direction: rtl;
|
direction: rtl;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
@ -89,7 +88,7 @@
|
||||||
<td class="edtext" valign="top" style="padding: 20px; color: #5f5f5f; font-size: 12px; font-family: Tahoma, Geneva, sans-serif; text-align: right; direction: rtl; box-sizing: border-box;">
|
<td class="edtext" valign="top" style="padding: 20px; color: #5f5f5f; font-size: 12px; font-family: Tahoma, Geneva, sans-serif; text-align: right; direction: rtl; box-sizing: border-box;">
|
||||||
<div class="style1" style="text-align: center; color: #000000; font-size: 28px; font-family: Helvetica, Arial, sans-serif;">
|
<div class="style1" style="text-align: center; color: #000000; font-size: 28px; font-family: Helvetica, Arial, sans-serif;">
|
||||||
<strong>
|
<strong>
|
||||||
<span style="color: #5f497a;">حسابیکس
|
<span style="color: #5f497a;">{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
</span>
|
</span>
|
||||||
<br>
|
<br>
|
||||||
</strong>
|
</strong>
|
||||||
|
@ -100,9 +99,13 @@
|
||||||
<br>
|
<br>
|
||||||
</p>
|
</p>
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
به حسابیکس خوش آمدید. کد فعال سازی شما به شرح ذیل می باشد.
|
به
|
||||||
|
{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
|
خوش آمدید. کد فعال سازی شما به شرح ذیل می باشد.
|
||||||
<br>
|
<br>
|
||||||
در صورت مواجعه با مشکل در فعال سازی حساب کاربری خود با پشتیبانی حسابیکس تماس بگیرید.
|
در صورت مواجعه با مشکل در فعال سازی حساب کاربری خود با پشتیبانی
|
||||||
|
{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
|
تماس بگیرید.
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
<td class="edtext" valign="top" style="padding: 20px; color: #5f5f5f; font-size: 12px; font-family: Tahoma, Geneva, sans-serif; text-align: right; direction: rtl; box-sizing: border-box;">
|
<td class="edtext" valign="top" style="padding: 20px; color: #5f5f5f; font-size: 12px; font-family: Tahoma, Geneva, sans-serif; text-align: right; direction: rtl; box-sizing: border-box;">
|
||||||
<div class="style1" style="text-align: center; color: #000000; font-size: 28px; font-family: Helvetica, Arial, sans-serif;">
|
<div class="style1" style="text-align: center; color: #000000; font-size: 28px; font-family: Helvetica, Arial, sans-serif;">
|
||||||
<strong>
|
<strong>
|
||||||
<span style="color: #5f497a;">حسابیکس
|
<span style="color: #5f497a;">{{twigFunctions.getStaticData('system', 'appName')}}
|
||||||
</span>
|
</span>
|
||||||
<br>
|
<br>
|
||||||
</strong>
|
</strong>
|
||||||
|
@ -100,7 +100,7 @@
|
||||||
<br>
|
<br>
|
||||||
</p>
|
</p>
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
کلمه عبور ورود به حسابیکس به درخواست شما تغییر یافت . جهت ورود از کلمه عبور زیر استفاده نمایید.
|
کلمه عبور ورود به {{twigFunctions.getStaticData('system', 'appName')}} به درخواست شما تغییر یافت . جهت ورود از کلمه عبور زیر استفاده نمایید.
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 15 KiB |
Binary file not shown.
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 10 KiB |
Binary file not shown.
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.8 KiB |
Loading…
Reference in a new issue