小编Spl*_*nia的帖子

如何在Symfony2中检查表单生成器中的用户角色?

好的,我正在尝试检查用户是否具有特定角色,我这样做

但是,当我这样做时:

public function buildForm(FormBuilder $builder, array $options)
{
    $builder
        ->add('nombre',null,array('label' => 'Usuario'))
        ->add('email')
        ->add('password', 'repeated', array(
            'type' => 'password',
            'invalid_message' => 'Los campos deben coincidir',
            'first_name' => 'password',
            'second_name' => 'confirmar password',
            'options' => array('required' => false)
            ))

        ->add('cliente', 'entity', array(
        'class' => 'ClientesBundle:Cliente',
        'empty_value' => 'Company',            
        'required'    => false,
        'empty_data'  => null)
    **)**
      $user = $this->securityContext->getToken()->getUser();
      **if ($user->getRol() == 'ROLE_SUPER_ADMIN'){**
        ->add('rol') 
        **}**
    ;

}
Run Code Online (Sandbox Code Playgroud)

尝试过这个:

 **if ($this->securityContext->getToken()->getUser()->getRol() === 'ROLE_SUPER_ADMIN'){**
            ->add('rol') 
            **}**
Run Code Online (Sandbox Code Playgroud)

粗体线条(带有**的线条)有一条小红线表示错误,如果......我怎么解决这个问题呢?

role formbuilder symfony

11
推荐指数
3
解决办法
1万
查看次数

错误:类...没有命名的字段或关联

当我将文件上传到服务器时,我遇到了这个问题.

Error: Class Prizes\PrizesBundle\Entity\Category has no field or association named order_cat
Run Code Online (Sandbox Code Playgroud)

我的分类:

    <?php

namespace Prizes\PrizesBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * @ORM\Entity 
 * @ORM\Table(name="category")
 */
class Category
{
  /**
   * @ORM\Id
   * @ORM\Column(type="integer")
   * @ORM\GeneratedValue(strategy="AUTO")
   */
  private $id;

  /**
   * @Gedmo\Translatable
   * @ORM\Column(type="string", length=45, nullable=false)
   */
  private $name;

  /**
   * @Gedmo\Translatable
   * @ORM\Column(type="string", length=45, nullable=false)
   */
  private $description;

  /**
   * @ORM\Column(type="string", length=255, nullable=false)
   */
  private $thumb;

  /**
   * @ORM\Column(type="string", length=255, nullable=false)
   */
  private $img;

  /**
   * …
Run Code Online (Sandbox Code Playgroud)

doctrine symfony

7
推荐指数
1
解决办法
2万
查看次数

从 Symfony2 控制器中的序列化字符串中获取数据

我想弄清楚如何serialized从提交的表单的字符串中获取数据。

$(document).ready(function() {
    $("#formC").on('submit', function(e) {
         var url = $(this).attr("action");

        e.preventDefault();

        $.post(url,{
            data: $("#formC").serialize(),
            type: 'post'
        }).done(function(data) {
            alert(data);
        });
    });
Run Code Online (Sandbox Code Playgroud)

形式:

<form action="{{ path('advd_p_group_ps_rd_ss') }}" method="post" {{ form_enctype(formBase) }} id="formC">
                                    <thead>
                                        <tr>
                                            <th><input type="checkbox" id="selectall"></th>
                                            <th>{{ 'general.date'|trans }}</th>
                                            <th>{{ 'general.order_number'|trans }}</th>
                                            <th>{{ 'general.description'|trans }}</th>
                                            <th>{{ 'general.company_name'|trans }}</th>
                                            <th>{{ 'general.name'|trans }}</th>
                                            <th>{{ 'form.status'|trans }}</th>

                                        </tr>
                                    </thead>
                                        {% for details in details %}
                                    <tbody>
                                        <tr>

                                            <td><div align="center"><input type="checkbox" class="selectedId" name="selectedId" value="{{details.id}}" onclick="javascript:resetSelectAll();" /></div></td>
                                            <td>{{ details.date | date("m/d/Y") }}</td>
                                            <td>{{ …
Run Code Online (Sandbox Code Playgroud)

jquery post serialization symfony

5
推荐指数
1
解决办法
3812
查看次数

使用TWIG从数据库检索的外部URL的超链接

我正在使用Symfony 2.0.19.我正在尝试创建一个指向外部URL的超链接,该外部URL是从数据库中检索的.

我试过这样做

<td><a href="{{dominio.url}}">{{dominio.url}}</a></td>
Run Code Online (Sandbox Code Playgroud)

但我获得的路径是基本URL示例"localhost/web/www.tralalalala.com" 的URL 的相对路径,而不仅仅是"www.tralalalala.com".

我该怎么做呢?

symfony doctrine-orm twig

4
推荐指数
2
解决办法
3071
查看次数

从设计覆盖注册控制器时,是否可以在创建操作上访问新创建的用户?

我正在尝试在用户注册后立即创建一个文件夹,所以我覆盖了注册控制器上的创建操作(设计),但我不知道如何访问新创建的用户以创建具有其名称的文件夹稍后上传文件.

到目前为止,我有这个:

class RegistrationsController < Devise::RegistrationsController

  def new
    super
  end

  def create
    super
    create_folder
  end

  def update
    super
  end

  def create_folder
    path =  Pathname.new(':rails_root/tmp/')
    directory_name = ":current_user"
    Dir.mkdir(path, directory_name) unless File.exists?(directory_name)
  end
end
Run Code Online (Sandbox Code Playgroud)

的routes.rb

 devise_for :users, :controllers => {:registrations => "registrations"}
Run Code Online (Sandbox Code Playgroud)

我按照这个来覆盖注册控制器.

  1. 我应该把它留在那里还是将它移到创建动作中?而不是使用方法
  2. 是访问当前用户的正确方法吗?
  3. 也许不是注册而是在登录时做得更好?

我很感激我能得到任何帮助.

ruby ruby-on-rails mkdir devise ruby-on-rails-3

4
推荐指数
1
解决办法
2313
查看次数

将图表导出为图像有时会生成空文件 - Excel VBA

我正在做一个导出工作表中所有图表的宏,然后打开Outlook并附加它们.但是,我注意到,有几次图表会导出但是为0KB(文件已创建,但无法看到图像) 在此输入图像描述

但它并没有发生在所有的图表上.只是大部分时间,有时候,它们都会毫无问题地生成它们.(当我逐步执行代码时,所有图表生成都没有问题,也是在逐步执行之后,然后我正常执行它并生成所有图表,但是如果我关闭并重新打开工作簿,它会产生同样的问题,仅生成两个,其余为空文件)

这是代码:

Dim sheetNumber, Size, i As Integer
    Dim chartNames(), FNames() As String
    Dim objChrt As ChartObject
    Dim myChart As Chart


    'Activate Charts Sheet
    Sheets("GRAFICAS").Activate
    'Calculate Number of Charts in Sheet
    Dim chartNumber
    chartNumber = ActiveSheet.ChartObjects.Count
    'Redimension Arrays to fit all Chart Export Names
    ReDim chartNames(chartNumber)
    ReDim FNames(chartNumber)
    'Loops through all the charts in the GRAFICAS sheet
    For i = 1 To chartNumber
        'Select chart with index i
        Set objChrt = ActiveSheet.ChartObjects(i)
        Set myChart = objChrt.Chart
        'Generate a …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

4
推荐指数
1
解决办法
4345
查看次数

覆盖表单模板Symfony2,twig元素?

我正在尝试覆盖某些表单的模板.

这是其中之一

  public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('nombreBD','text', array( 'required' => true, 'label' => 'Nombre Base de Datos: '))
            ->add('Servidor','choice', array(
                            'choices'   => array('1' => 'Si', '0' => 'No'),
                            'required'  => true,
                            'multiple'  => false,
                            'expanded'  => true,
                            'label' => 'Servidor Existente?',

                  ))
            ->add('ServidorBD','entity',
                  array ('class' => 'MonseWebBundle:ServidoresBD',
                        'multiple' => true, 
                        'required' => true, 
                        'label' => 'Servidor de Base de Datos: ',
                         'query_builder' => function(EntityRepository $er) {
                         return $er->createQueryBuilder('u')
                         ->orderBy('u.url', 'ASC');
                                                                           },
                         ))
            ;
    }
Run Code Online (Sandbox Code Playgroud)

这就是模板

{% …
Run Code Online (Sandbox Code Playgroud)

forms overriding widget symfony twig

2
推荐指数
1
解决办法
1万
查看次数

是否有可能获得作为过滤器结果的列的最常见值(String)?VBA

我有点卡在这里.我在应用过滤器的应用程序中应用了一个过滤器,如下所示(示例项999)

项目Inv.数量Avi.数量标志BOX

999    12   9   N    X1
999    23   17  Y    X2
999    1    1   N    X14
999    21   3   N    X113
Run Code Online (Sandbox Code Playgroud)

我试图获得"Flag"列值,(在过滤器内部并且它崩溃)代码:

With InventorySheet
.AutoFilterMode = False
 LRowOnQ = .Cells(Rows.Count, "Q").End(xlUp).Row
.Range("B1").AutoFilter Field:=2, Criteria1:=Project
 .Range("D1").AutoFilter Field:=4, Criteria1:=ContractNumber
 .Range("N1").AutoFilter Field:=14, Criteria1:=Code
.Range("Q1").AutoFilter Field:=17, Criteria1:=">0"
 Set rangeFilteredInventory = .Range("Q1:Q" & LRowOnQ)
 ControlFlag = .Range("L2").Value
 End With
Run Code Online (Sandbox Code Playgroud)

在过滤器之后,它总是采用相同的值.码:

With InventorySheet
     .AutoFilterMode = False
       LRowOnQ = .Cells(Rows.Count, "Q").End(xlUp).Row
      .Range("B1").AutoFilter Field:=2, Criteria1:=Project
     .Range("D1").AutoFilter Field:=4, Criteria1:=ContractNumber
    .Range("N1").AutoFilter Field:=14, Criteria1:=Code
  .Range("Q1").AutoFilter Field:=17, Criteria1:=">0"
  Set rangeFilteredInventory = …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

1
推荐指数
1
解决办法
3062
查看次数