如何将“最终价格”(考虑到所有目录规则和特殊价格)添加到 Magento 管理中的产品网格?
2012 年 12 月 10 日更新我使用 v1.1.8 进行了大量自定义,所以我刚刚重新安装了 v.1.1.8 并将 addFinalPrice() 添加到产品网格中的 _prepareCollection(),但现在我所有get 是管理产品管理中的半空白屏幕。有任何想法吗?
Android 应用程序可以使用管理策略获得一些特殊权限,例如打开锁定屏幕。
因此,在用户撤销其管理员权限之前,无法卸载这些应用程序。
我希望有一个功能来检查给定的应用程序(给定应用程序的包名称)是否具有管理员权限,如果是,我将打开此应用程序的管理员设置页面,以允许用户撤销其权限。
事实证明,已经有一个函数可以做到这一点。
首先你得到一个 DevicePolicyManager 的实例:
DevicePolicyManager dpm=(DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
Run Code Online (Sandbox Code Playgroud)
然后你应该调用isAdminActive,并得到真/假的结果。
但是,该函数的参数是 ComponentName,这意味着它不仅需要包名称,还需要应用程序特定类的路径。
另一种方法是使用getActiveAdmins查询所有活动的管理应用程序。
稍后,您可以使用以下命令进入管理页面:
final Intent intent=new Intent();
intent.setComponent(new ComponentName("com.android.settings","com.android.settings.DeviceAdminSettings"));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
或者更具体地说,要启用/禁用应用程序管理员权限:
final Intent intent=new Intent();
intent.setComponent(new ComponentName("com.android.settings","com.android.settings.DeviceAdminAdd"));
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,componentName);
activity.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
然而,这两种方式似乎有点hacky,因为它们不使用android的官方API,这可能会改变android版本和roms。
检查给定应用程序(包名称)是否具有管理员权限的最佳方法是什么?
进入管理页面的最佳方式是什么?有没有更安全的方法去那里?也许是我对安全屏幕意图所做的回退机制(由于某种原因,我在 API 中找不到)?
阅读这篇文章的答案后,我决定分享调查结果:
如果你想安全,你可以告诉用户自己去管理屏幕,只引导他到安全屏幕:
intent=new Intent(Settings.ACTION_SECURITY_SETTINGS);
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
但是,我认为下一种方法应该适用于所有设备:
Intent intent=new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
final PackageManager packageManager=context.getPackageManager();
final List<ResolveInfo> resolveInfos=packageManager.queryIntentActivities(intent,0);
if(resolveInfos!=null&&!resolveInfos.isEmpty())
try
{
final ResolveInfo resolveInfo=resolveInfos.get(0);
intent=new Intent();
intent.setComponent(new ComponentName(resolveInfo.activityInfo.packageName,resolveInfo.activityInfo.name));
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,componentNameResult);
context.startActivity(intent);
return true;
}
catch(final Exception e)
{}
Run Code Online (Sandbox Code Playgroud)
如果失败,您可以随时使用我编写的任何方法,最后,调用安全的方法。
我正在使用奏鸣曲管理员。我有两个实体:假期条目 + 员工假期条目 (1:m)
在我的假期条目管理课程中:
通过 Employee Vacation Entry 实体对每个员工进行验证。
class VacationEntryAdmin extends Admin {
// some
// content
public function prePersist($cv)
{
// some
// content
$validator = $this->getValidator();
$errors = $validator->validate($employeeVacationEntry);
if (count($errors) > 0) {
foreach ($errors as $error) {
$errorsString = $error->getMessage();
$employeeName = $error->getRoot()->getEmployee()->getName();
$this->getRequest()->getSession()->getFlashBag()->add("danger", $employeeName . ': ' . $errorsString);
} //I'd like to stop the persistence of all the Vacation Entry here.
}
$em->persist($employeeVacationEntry);
}
}
Run Code Online (Sandbox Code Playgroud)我有一个带有"dc=domain1,dc=com"olcSuffix的 LDAP 服务器。我想"dc=domain2,dc=com"在同一台服务器上创建第二个域。
使用这个 LDIF 文件:
dn: olcDatabase={3}bdb
对象类:olcDatabaseConfig
对象类:olcBdbConfig
olc 数据库:{3}bdb
olc 后缀:dc=domain2,dc=com
...
我有一个错误:
"no global superior knowledge" error because dc=domain2,dc=com does not fit below the existing dc=domain1,dc=com tree.
我的问题是如何在 openldap 中并排运行两个单独的域?我是否必须创建一个"dc=com"根并将现有的移动到它"dc=domain1"下面然后创建"dc=domain2",或者是否有某种方式在同一服务器中独立支持两棵树?
有时我们可以点击列,然后表格将按点击的内容排序,但有些不可点击,我相信那些不可点击是因为模型中的字段不是外键或 M2M
我想知道是否有办法让它们也可以点击排序?
例如以下,
title 和 created_at 是可点击的,但不是 SET
在此先感谢您的任何建议和帮助。
我正在尝试以管理员身份删除文件夹,但收到消息“您需要 UserAdam 的许可才能删除文件夹”。问题是,我以 UserAdam 身份登录!我也尝试将所有者更改为管理员也无济于事。
我只是尝试通过以下命令压缩文件夹及其内容:
zip -r ./mytarget.zip ./mysource
Run Code Online (Sandbox Code Playgroud)
最后我收到警告:
zip warning: Not all files were readable
files/entries read: 141595 (4.2G bytes) skipped: 57 (1.8M bytes)
Run Code Online (Sandbox Code Playgroud)
我想知道跳过了哪些文件。
如何找到所有不可读的文件?我没有sudo那个服务器的权限。
提前致谢!
我想要这样的东西:
firebase.auth().currentUser.canWrite();
Run Code Online (Sandbox Code Playgroud)
这应该返回true或false基于我在 Firebase 控制台中制定的安全规则。
admin firebase-security firebase-authentication firebase-realtime-database ionic3
我在后端使用 Laravel 和 Voyager。我在 Posts 模型和 Categories 模型之间建立了关系。添加新帖子时,我可以使用下拉菜单选择相应的类别。
如何根据某些条件使此下拉菜单显示类别?(假设只有子类别)
我想测试我的 Django 表单,但出现此错误
django.core.exceptions.ValidationError: ['ManagementForm data is missing or has been tampered with']
Run Code Online (Sandbox Code Playgroud)
这样做:
self.client.post(self.url, {"title" : 'title', "status" : 2, "user" :1})
Run Code Online (Sandbox Code Playgroud)
而我的模型只需要这些字段......
谢谢 :)
编辑1:这是表格:
class ArticleAdminDisplayable(DisplayableAdmin):
fieldsets = deepcopy(ArticleAdmin.fieldsets)
list_display = ('title', 'department', 'publish_date', 'status', )
exclude = ('related_posts',)
filter_horizontal = ['categories',]
inlines = [ArticleImageInline,
ArticlePersonAutocompleteInlineAdmin,
ArticleRelatedTitleAdmin,
DynamicContentArticleInline,
ArticlePlaylistInline]
list_filter = [ 'status', 'keywords', 'department', ]
class ArticleAdmin(admin.ModelAdmin):
model = Article
Run Code Online (Sandbox Code Playgroud)
关于文章模型有太多的继承,所以你必须相信我唯一需要的字段(模型)是标题、状态和用户。